我是Python新手(以Java为基础)。我读了Dive Into Python的书,在第3章中我找到了关于Multi-Variable Assignment
的书。也许你们中的一些可以帮助我了解此代码波纹管发生什么:对多变量赋值的理解不够Python
>>> 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 ...
- >显示最后一个键
任何人都可以详细说明上述每种情况下的循环流程吗?
你的问题是什么? – jtbandes 2012-08-03 08:00:02
我想了解#1,#2,#3和#4中'a'和'b'变量的用法。 – Crazenezz 2012-08-03 08:01:02
你对哪一个感到困惑? – dghubble 2012-08-03 08:04:20