abk*_*f12 2 python dictionary dictionary-comprehension iterable-unpacking
我有这本字典,
states = {
'CT': 'Connecticut',
'CA': 'California',
'NY': 'New York',
'NJ': 'New Jersey'
}
Run Code Online (Sandbox Code Playgroud)
和代码在这里..
state2 = {state: abbrev for abbrev, state in states.items()}
Run Code Online (Sandbox Code Playgroud)
我试图了解这是什么以及如何abbrev for abbrev
工作。我也不清楚究竟state:
是什么。我得到了第二部分(states.items() 中的状态)。这个的输出给出
{'Connecticut': 'CT', 'California': 'CA', 'New York': 'NY', 'New Jersey': 'NJ'}
Run Code Online (Sandbox Code Playgroud)
但我不确定这是如何工作的.. 在此先感谢您。
这里发生的事情被称为字典理解,一旦你对它们足够了解,就很容易阅读。
state2 = {state: abbrev for abbrev, state in states.items()}
Run Code Online (Sandbox Code Playgroud)
如果您看一看,state: abbrev
您可以立即看出这是一个常规的对象分配语法。您将 abbrev 的值分配给状态键。但是什么是状态和缩写?
你只需要看下一个语句, for abbrev, state in states.items()
这里有一个 for 循环,其中 abbrev 是键,state 是项,因为 states.items() 返回一个键和值对。
所以看起来字典理解正在为我们创建一个对象,通过循环遍历一个对象并在循环时分配键和值。
归档时间: |
|
查看次数: |
49 次 |
最近记录: |