如何在保留所有元素的同时提取字典列表中的所有键?(Python)



假设我有以下字典列表:

list1 = [{'1': 1}, {'1': 1}, {'0': 1}, {'1': 1}, {'1': 1}, {'0': 1}]

如何将所有键提取到单个列表中?期望的输出应该如下所示:

li = [1,1,0,1,1,0]

我试图使用

randlis = [list[i].keys() for i in range len(list1)]

这不起作用,因为输出包含类型:

[dict_keys(['1']), dict_keys(['1']), dict_keys(['0'])]

谢谢!

你可以使用chain from itertools:

list1 = [{'1': 1}, {'1': 1}, {'0': 1}, {'1': 1}, {'1': 1}, {'0': 1}]
from itertools import chain
randlis = list(chain(*list1))
print(randlis)
['1', '1', '0', '1', '1', '0']

您可以简单地使用list comprehension

循环遍历元素
[key for _dict in list for key in _dict.keys()]
#['1', '1', '0', '1', '1', '0']

。您不应该使用liststrint等来命名变量。我在示例中保持不变,以便您更好地理解循环。

请将您的var名称更改为其他名称。

最新更新