Недостаток понимания Multi -Назначение переменных Python

Я новичок в 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для каждого случая выше:

  1. a for b, a...-> отображать значения
  2. a for a, a...-> отображать значения
  3. a for a, b...-> отобразить клавиши
  4. a for b, b...-> показать последний ключ

Может ли кто-нибудь уточнить поток цикла для каждого случая выше?

5
задан Björn Pollex 3 August 2012 в 09:30
поделиться