繁体   English   中英

Python字典查询

[英]Python dictionary inquiry

这是LPTHW的代码:

states = {
'Oregon': 'OR',
'Florida': 'FL',
'California': 'CA',
'New York': 'NY',
'Michigan': 'MI'
}
cities = {
'CA': 'San Francisco',
'MI': 'Detroit',
'FL': 'Jacksonville'
}


cities['NY'] = 'New York'
cities['OR'] = 'Portland'

print '-' * 10
print "NY State has: ", cities['NY']
print "OR State has: ", cities['OR']

print '-' * 10
print "Michigan's abbreviation is: ", states['Michigan']
print "Florida's abbreviation is: ", states['Florida']

print '-' * 10
print "Michigan has: ", cities[states['Michigan']]
print "Florida has: ", cities[states['Florida']]

print '-' * 10
for state, abbrev in states.items():
    print "%s is abbreviated %s" % (state, abbrev)

print '-' * 10
for abbrev, city in cities.items():
    print "%s has the city %s" % (abbrev, city)

print '-' * 10
for state, abbrev in states.items():
    print "%s state is abbreviated %s and has city %s" % (
        state, abbrev, cities[abbrev])

print '-' * 10
state = states.get('Texas')

if not state:
    print "Sorry, no Texas."

city = cities.get('TX', 'Does Not Exist')
print "The city for the state 'TX' is: %s" % city

我想了解的是Python如何将一个字典与另一个字典联系起来? 在代码中。

print "Michigan has: ", cities[states['Michigan']]
print "Florida has: ", cities[states['Florida']]`

python会从后面读取吗? 它会首先查看各州并找到密歇根州,然后使用其价值,然后最后使用此值查找位于州的价值是关键的城市,并打印出城市中的关键的价值吗? 为什么它不仅仅从城市(MI)中打印出密钥?

感谢您的任何帮助。

Python不链接字典。 它的作用是在线cities[states['Michigan']]它首先将states['Michigan']评估为states词典中的'Michigan'值(即'MI' )。 在那之后,表情看起来像是cities['MI'] 然后根据cities字典(即'Detroit' )将其评估为'MI'值。

它不是向后解析,而是按照最里面的表达式->最外面的表达式的顺序进行解析。

因此,对于cities[states['Michigan']]

  1. cities
  2. 认识到它需要解决states['Michigan']
  3. states
  4. 查找states['Michigan']
  5. states['Michigan']价值返回cities
  6. 现在它可以解决cities[states['Michigan']]

这是这样的

1-首先寻找的价值

states['Michigan']

=“ MI”

2-然后取最后一个值并将其放入城市字典中

cities['MI']

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM