与字典列表的值进行交互并保存为字符串的最佳方法是什么?

时间:2018-05-24 20:33:31

标签: python list dictionary

我试图遍历以下词典列表以产生输出:

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循环解决它?如何使用列表压缩?

2 个答案:

答案 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