Каков наилучший способ взаимодействия со значениями списка словаря и сохранения в виде строки? - PullRequest
0 голосов
/ 24 мая 2018

Я пытаюсь перебрать следующий список словарей для вывода:

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 голосов
/ 25 мая 2018

Вот один из способов:

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
0 голосов
/ 24 мая 2018

Вы можете использовать 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'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...