Я новичок в Python (с Java в качестве основы ). Я читал Dive Into Python книги, в главе 3 я нашел о Multi-Variable Assignment
. Возможно, кто-то из вас поможет мне понять, что происходит в приведенном ниже коде:
>>> params = {1:'a', 2:'b', 3:'c'}
>>> params.items() # To display list of tuples of the form (key, value).
[(1, 'a'), (2, 'b'), (3, 'c')]
>>> [a for b, a in params.items()] #1
['a', 'b', 'c']
>>> [a for a, a in params.items()] #2
['a', 'b', 'c']
>>> [a for a, b in params.items()] #3
[ 1, 2, 3 ]
>>> [a for b, b in params.items()] #4
[ 3, 3, 3 ]
Пока я понимаю, что #1
и #2
имеют одинаковый вывод, который отображает значения кортежа. #3
отображать ключ кортежа, а #4
просто отображать последний ключ из списка кортежей.
Я не понимаю использование переменной a
и переменной b
для каждого случая выше:
a for b, a...
-> отображать значенияa for a, a...
-> отображать значенияa for a, b...
-> отобразить клавишиa for b, b...
-> показать последний ключМожет ли кто-нибудь уточнить поток цикла для каждого случая выше?