Python字典输出

Python字典输出,python,dictionary,Python,Dictionary,我希望有人能给我解释一下 根据以下词典: users = {'firstname': 'John', 'lastname': 'Smith', 'age': 27} 以下为for循环: for k in users: print(k, '=>', users[k]) firstname => John lastname => Smith age => 27 结果与以下结果相同: for k, v in users.items(): print(k,

我希望有人能给我解释一下

根据以下词典:

users = {'firstname': 'John', 'lastname': 'Smith', 'age': 27}
以下为for循环:

for k in users:
    print(k, '=>', users[k])

firstname => John
lastname => Smith
age => 27
结果与以下结果相同:

for k, v in users.items():
    print(k, '=>', v)

firstname => John
lastname => Smith
age => 27

我理解第二个循环的语法以及它是如何工作的,但是第一个对我来说很混乱。字典有键/值对,但上面的一个看起来只是在键之间循环,它是如何输出值的?只要看看它,我希望它能打印出来:

firstname => firstname
lastname => lastname
age => age

但很明显,在python中,每当您向字典输入一个键时,它不会输出映射到该值的任何内容。因此:

users = {'firstname': 'John', 'lastname': 'Smith', 'age': 27}

>>>firstname #user input
>>>'John' #python output
希望这有帮助

第一圈 在第一个循环中,您实际上是在迭代dict的键

第二循环语法 在python中,可以为元组分配:

>>> (a, b) = (1, 2)
>>> a
1
>>> b
2
因此,这与执行以下操作相同:

>>> xs = (1, 2)
>>> a = xs[0]
>>> b = xs[1]
for循环可以重写为:

for kv in users.items(): 
  k, v = kv
  # k = kv[0]
  # v = kv[1]
  print(k, '=>', v)

这就是dict上迭代的定义:它在键上迭代。用户[k]也从dict中获取一个值,为什么您希望它返回一个键?它如何输出值?它使用以下键查找值:users[k]欢迎使用StackOverflow。请按照您创建此帐户时的建议,阅读并遵循帮助文档中的发布指南。在这里申请。StackOverflow不是设计、编码、研究或教程服务。这是dict内容的基本访问,包含在有关该主题的无数教程中。