我有这本字典,
states = {
'CT': 'Connecticut',
'CA': 'California',
'NY': 'New York',
'NJ': 'New Jersey'
}
和代码在这里..
state2 = {state: abbrev for abbrev, state in states.items()}
我正在尝试了解此
abbrev for abbrev
的作用和方式。我也不清楚state:
到底是什么。我得到第二部分(states.items()中的状态)。这样的输出给出{'Connecticut': 'CT', 'California': 'CA', 'New York': 'NY', 'New Jersey': 'NJ'}
但是我不确定这是如何工作的。
最佳答案
这里发生的事情称为字典理解,一旦您足够了解它们就很容易阅读。
state2 = {state: abbrev for abbrev, state in states.items()}
如果看一下
state: abbrev
,您可以立即知道这是一个常规的对象分配语法。您正在将abbrev的值分配给状态键。但是状态是什么,简称?您只需要查看下一条语句
for abbrev, state in states.items()
这里有一个for循环,其中abbrev是键,state是项,因为states.items()返回给我们键和值对。
因此,字典理解似乎在为我们创建一个对象,方法是遍历对象并在遍历对象时分配键和值。
关于python - Python字典语法,具有for条件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59671461/