【发布时间】:2020-12-17 11:20:40
【问题描述】:
list_from=[1,2,3,4,5,6,7,8,9,10]
list_from2=[a,b,c,d,e,f,g,h,i,j]
from_dict={list_from[i]:list_from2[i] for i in range(len(list_from2))}
list_to = [1,2,5,10]
save=[]
num=0
while num<=len(list_to):
try:
if list_to[num] in list_from:
save.append(from_dict[list_to[num]])
else:
save.append('')
num+=1
except:
break
我有上面的代码。我想将此 while 循环代码转换为 for 循环。 (另外,如果可能的话,我想转换为列表理解代码) 我怎样才能做到这一点? 感谢您的帮助。
【问题讨论】:
-
我想我的代码有误。似乎空列表“保存”输入两次。对此感到抱歉。
-
对于 list_from 中的数字
-
from_dict = dict(zip(list_from, list_from2))会更简单。 -
和
save = [from_dict.get(x, '') for x in list_to]一样。
标签: python list for-loop while-loop