gpt4 book ai didi

python - 将带有赋值的循环转换为理解

转载 作者:太空狗 更新时间:2023-10-29 22:07:51 26 4
gpt4 key购买 nike

<分区>

将循环转换为推导非常简单:

mylist = []
for word in ['Hello', 'world']:
mylist.append(word.split('l')[0])

mylist = [word.split('l')[0] for word in ['Hello', 'world']]

但是当循环涉及为引用赋值时,我不确定如何继续。

mylist = []
for word in ['Hello', 'world']:
split_word = word.split('l')
mylist.append(split_word[0]+split_word[1])

理解最终看起来像这样:

mylist = [word.split('l')[0]+word.split('l')[1] for word in ['Hello', 'world']]

这会多次计算 word.split('l') 而循环只计算一次并保存一个引用。我尝试了以下方法:

mylist = [split_word[0]+split_word[1] for word in ['Hello', 'world'] with word.split('l') as split_word]

失败是因为 with 不能那样工作,并且:

mylist = [split_word[0]+split_word[1] for word in ['Hello', 'world'] for split_word = word.split('l')]

这也行不通。我知道通过 *** 解包,但我不确定它适合放在哪里。是否有可能将这些类型的循环转化为推导式,希望是以一种整洁的方式?

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com