孤山空影 发表于 2021-7-14 15:14:13

字典键和值的对应

nums={'as':3,'df':5,'fg':7,'hu':8,'ki':9}

for name,number in nums.items():
    print(f'{name} favrarite number is {number}')


as favrarite number is 3
df favrarite number is 5
fg favrarite number is 7
hu favrarite number is 8
ki favrarite number is 9

疑问:在没有定义name 和number的前提下,是如何将其与键和值一一对应起来的?

qiuyouzhi 发表于 2021-7-14 15:18:12

?name 和 number 不是已经定义了吗
你可以看看 nums.items() 的内容

Twilight6 发表于 2021-7-14 15:19:30


因为 items 返回的是所有键值对组成的元组构成的序列

>>> nums={'as':3,'df':5,'fg':7,'hu':8,'ki':9}
>>> print(nums.items())
dict_items([('as', 3), ('df', 5), ('fg', 7), ('hu', 8), ('ki', 9)])

for 循环 name,number 就对应着这 序列中元组的 第一个元素 与 第二个元素

简单理解也就是对应位置的赋值~

逃兵 发表于 2021-7-14 15:24:01

类似于for i in range(10)

i会被循环赋值0~9

name 和 number 也是通过 for 被循环赋值

每次打印的都是他们当时对应的值

所以不存在没有定义name 和number的情况

孤山空影 发表于 2021-7-14 15:30:13

Twilight6 发表于 2021-7-14 15:19
因为 items 返回的是所有键值对组成的元组构成的序列




清晰透彻,谢谢{:9_236:}
页: [1]
查看完整版本: 字典键和值的对应