Я пытаюсь написать функцию, которая превращает строки вида 'A=5, b=7'
в словарь {'A': 5, 'b': 7}
. Следующие фрагменты кода — это то, что происходит внутри основного цикла for
— они превращают одну часть строки в один элемент dict.
Это хорошо:
s = 'A=5'
name, value = s.split('=')
d = {name: int(value)}
Это не:
s = 'A=5'
d = {name: int(value) for name, value in s.split('=')}
ValueError: need more than 1 value to unpack
Почему я не могу распаковать кортеж, когда он находится в понимании словаря? Если я получу эту работу, я могу легко превратить всю функцию в одно компактное понимание dict.
dict
с итерируемым аргументом. - person Rafael Martins   schedule 15.01.2018