我有四个空列表和一本字典,如下所示:
argv1_a=[]
argv1_b=[]
argv2_a=[]
argv2_b=[]
dic={'1':['1','x','build'],'2':['x','8','demolish'],'3':['3','x','build'],'4':['6','10','demolish']}
以及一个代码块(它基本上将字典的值附加到列表中,并将其类型更改为int):
for i in dic.values():
if i[2]=='build':
if i[0]!='x':
argv1_a.append(int(i[0]))
else:
argv1_a.append(i[0])
elif i[2]=='demolish':
if i[0]!='x':
argv1_b.append(int(i[0]))
else:
argv1_b.append(i[0])
for i in dic.values():
if i[2]=='build':
if i[1]!='x':
argv2_a.append(int(i[1]))
else:
argv2_a.append(i[1])
elif i[2]=='demolish':
if i[1]!='x':
argv2_b.append(int(i[1]))
else:
argv2_b.append(i[1])
以下是列表的最终结果:
argv1_a=[1, 3]
argv1_b=['x', 6]
argv2_a=['x', 'x']
argv2_b=[8, 10]
有没有更好的方法不用编写相同的代码块,也不用第三方库?你知道吗
将值放在元组中,并使用
for
循环:如果您只定义两个dict
d1
和d2
,其中包含键build
的argv1_a/argv2_a和键demolish
的argv1_b/argv2_b,您可以将代码简化如下相关问题 更多 >
编程相关推荐