在我的代码中,我有一个循环到一个字典......我得到了所需的输出,如下所示..
dict = {"apple":5,"banana":3, "mangos":2}
columns = ('apple', 'banana','mangos')
for column in columns:
value = dict.get(column)
print column,value
输出:
apple 5
banana 3
mangos 2
但如果我的词汇变为
dict = {"apple":5,"Oranges":3, "mangos":2}
相同的for循环会给我以下输出
columns = ('apple', 'banana','mangos')
for column in columns:
value = dict.get(column)
print column,value
我得到了关注,这是预期的
apple 5
banana None
mangos 2
现在的问题是,有没有办法设置列循环
columns = ('apple', 'banana','mangos')
这样第二个值'banana'可以是'banana'还是'orange'?
答案 0 :(得分:3)
dict = {"apple":5,"oranges":3, "mangos":2}
columns = ('apple', 'banana' , 'oranges','mangos')
for column in columns:
value = dict.get(column)
if value:
print(column,value)
检查值是否存在,然后打印它或OrderedDict,有太多好的答案,你可以检查dict中是否有'oranges'或'banana',然后根据你的columns
更改你找到了什么。
dict = {"apple":5,"oranges":3, "mangos":2}
if 'banana' in dict:
columns = ('apple', 'banana','mangos')
else:
columns = ('apple', 'oranges','mangos')
for column in columns:
value = dict.get(column)
print(column,value)
因为Ev而被编辑使用if 'banana' in dict
。 Kounis的评论!感谢。
答案 1 :(得分:0)
d = {"apple":5,"banana":3, "orange":2}
c = ('apple', 'banana','mangos')
# print direct values
for k, v in d.items():
print k, v
# print any values of the predefined columns + additionnal ones
ext = set(list(c) + d.keys())
for col in ext:
print col, d.get(col)
输出1:
橙色2
apple 5
香蕉3
输出2:
橙色2
芒果无
apple 5
香蕉3