与字典列表的值交互并另存为字符串的最佳方式是什么?

2024-04-28 22:00:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试遍历以下词典列表以生成输出:

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循环来解决这个问题?如何使用列表压缩


Tags: 代码nameinid列表forkarlitem
2条回答

您可以使用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'

有一种方法:

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

相关问题 更多 >