如何访问Python字典中的键

1 投票
4 回答
3779 浏览
提问于 2025-04-17 12:50

我知道可以通过使用 iteritems()keys() 来遍历字典。但是如果我有一个字典的列表,比如说:l = [{'a': 1}, {'b': 2}, {'c': 3}],我想用它的键来组成一个字符串,比如 s = 'a, b, c',该怎么做呢?

一种解决方法是提前把所有的键复制到一个列表里,然后再组成我想要的字符串。我只是想知道有没有更好的方法。

4 个回答

0

遍历字典,然后再遍历每个字典里的键:

>>> lst = [{'a': 1}, {'b': 2}, {'c': 3}]
>>> ', '.join(key for dct in lst for key in dct.keys())
'a, b, c'
1

假设每个字典里只会有一个键:

', '.join(a.keys()[0] for a in l)

如果不是的话,可能会像这样:

>>> l = [{'a': 1, 'd': 4}, {'b': 2}, {'c': 3}]
>>> ', '.join(', '.join(a.keys()) for a in l)
'a, d, b, c'
8

你可以使用 itertools.chain() 这个工具,利用一个特点,就是遍历字典的时候会得到它的键。

import itertools
lst = [{'a': 1}, {'b': 2}, {'c': 3}] 
print ', '.join(itertools.chain(*lst))

如果字典里有多个元素,这个方法也同样适用。

如果你不想要重复的元素,可以使用集合(set):

print ', '.join(set(itertools.chain(*lst)))

撰写回答