如何制作(列表,字典):
n = ('banana', 5, 'apple', 400, 'orange', 250, 'peach', 300)
到:
(fruit -> price)
示例:
for..print all
banana -> 5
apple -> 400
orange -> 250
peach -> 300
答案 0 :(得分:4)
您可以使用dict
和zip
:
n = ('banana', 5, 'apple', 400, 'orange', 250, 'peach', 300)
print(dict(zip(n[::2],n[1::2])))
{'orange': 250, 'peach': 300, 'banana': 5, 'apple': 400}
zip(n[::2],n[1::2])
创建[('banana', 5), ('apple', 400), ('orange', 250), ('peach', 300)]
然后在结果上调用dict会从每个元组创建键/值对。
更有效地使用iter来避免切片和创建新列表:
n = ('banana', 5, 'apple', 400, 'orange', 250, 'peach', 300)
it = iter(n)
print(dict(zip(it,it)))
打印项目:
for fruit, cost in dict(zip(it,it)).items():
print("{} -> {}".format(fruit, cost))
apple -> 400
orange -> 250
banana -> 5
peach -> 300
如果您只想使用对,请使用zip:
for fruit, cost in zip(it,it):
print("{} -> {}".format(fruit, cost))
banana -> 5
apple -> 400
orange -> 250
peach -> 300
dicts没有顺序,这就是为什么输出在两者之间的顺序不同。