Python: создание словаря из набора строк "ключ: значение"? - PullRequest
2 голосов
/ 18 июля 2011

Предположим, я загрузил это в список:

info = ['apple: 1', 'orange: 2', 'grape: 3']

Как я могу превратить это во что-то вроде

info = {line[0]: line[1] for line.split(': ') in info}

Так, чтобы у меня действительно был дикт?

Ответы [ 2 ]

7 голосов
/ 18 июля 2011

Вы очень близки!

>>> info = ['apple: 1', 'orange: 2', 'grape: 3']
>>> info = dict(line.split(': ') for line in info)
>>> info
{'orange': '2', 'grape': '3', 'apple': '1'}

Вы можете сделать это так, как пытались в Python 2.7+, но вам придется разделить строки по отдельности, поэтому лучше использовать dict,

Вот что я имею в виду:

info = ['apple: 1', 'orange: 2', 'grape: 3']
info = {fruit:num for fruit, num in (line.split(': ') for line in info)}
2 голосов
/ 18 июля 2011

Вы можете написать:

dict(tuple(line.split(': ')) for line in info)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...