Вы очень близки!
>>> 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)}