我试图遍历以下词典列表以产生输出:
authors = [
{'id': 1, 'name': 'Grace Hopper'},
{'id': 2, 'name': 'Karl Marx'}
]
预期产出:
'Grace Hopper, Karl Marx'
我的代码遗漏了一些东西:
for item in authors:
for author in item.values():
print(author)
输出:
1
Grace Hopper
2
Karl Marx
如何使用简单的for
循环解决它?如何使用列表压缩?
答案 0 :(得分:5)
您可以使用str.join
:
d = [{'id': 1, 'name': 'Grace Hopper'}, {'id': 2, 'name': 'Karl Marx'}]
new_d = ', '.join([i['name'] for i in d])
输出:
'Grace Hopper, Karl Marx'
答案 1 :(得分:1)
这是一种方式:
from operator import itemgetter
authors = [
{'id': 1, 'name': 'Grace Hopper'},
{'id': 2, 'name': 'Karl Marx'}
]
print(', '.join(map(itemgetter('name'), authors))) # -> Grace Hopper, Karl Marx