如何访问Python字典中的键
我知道可以通过使用 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)))