python-3.x - 如何通过列表理解检索字典的键和值列表?

标签 python-3.x dictionary list-comprehension

这是一个 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]

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

最佳答案

b, c = map(list, zip(*a.items()))
print(b)
print(c)

输出:

['a', 'b', 'c', 'd']
[1, 2, 3, 4]

关于python-3.x - 如何通过列表理解检索字典的键和值列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52644402/

相关文章:

Python lxml 迭代 tr 元素

python - 如何在 Python 中打印字典

java - 在 Java 中使用 HashMap 创建真实的映射

python - 我怎样才能从字典中调用 __missing__

haskell - 变量列表理解长度

python - 编写此递归函数的更多 pythonic 方式

python - 如何在python中的csv文件中编写列表列表

带有 Selenium 的 Python : Unable to locate element error

python 3 : module in same directory as script: "ImportError: No module named"

python - 对新元素进行条件列表理解