如何通过列表理解检索字典的键列表和值?

问题描述 投票:2回答:1

这是一个MWE,显示我想要获得但使用for循环:

a = {'a':1, 'b':2, 'c':3, 'd':4}
b = []
c = []
for key, value in a.items():
  b.append(key)
  c.append(value)

print(b) # ['a', 'b', 'c', 'd']
print(c) # [1, 2, 3, 4]

我想使用list comprehension在一行中获得相同的结果。 b,c = [(key, value) for key, value in a.items()]导致解包错误,因为它分别分配给b和c,a的第一项和第二项,然后它不知道在哪里解包其他项。 b,c = [key, value for key, value in a.items()]再次出现错误,语法错误。

python-3.x dictionary list-comprehension
1个回答
3
投票
b, c = map(list, zip(*a.items()))
print(b)
print(c)

这输出:

['a', 'b', 'c', 'd']
[1, 2, 3, 4]
© www.soinside.com 2019 - 2024. All rights reserved.