如何在Python中创建(list, dictionary)



如何制作(list, dictionary) from:

n = ('banana', 5, 'apple', 400, 'orange', 250, 'peach', 300)

:

(fruit -> price)

的例子:

for..print all
    banana -> 5
    apple -> 400
    orange -> 250
    peach -> 300

您可以使用dictzip:

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

字典没有顺序,所以这就是为什么两者之间的输出顺序不同。

最新更新