amengleng 发表于 2022-7-26 16:35:27

小白遍历字典问题

本帖最后由 amengleng 于 2022-7-26 16:38 编辑

movies = {
'妖猫传':['黄轩','染谷将太'],
'无问西东':['章子怡','王力宏','祖峰'],
'超时空同居':['雷佳音','佟丽娅'],
}

actor = input('你想查询哪个演员?')
formovie in movies:# 用 for 遍历字典
    actors = movies# 读取各个字典的主演表
    if actor in actors:
      print(movie)

>>'你想查询哪个演员?:黄轩
>>妖猫传


小白一名困惑 为什么actor in actors后 就能得到movie妖猫传呢? 求各位大神解析。感恩~

青出于蓝 发表于 2022-7-26 16:40:34

for循环遍历字典,遍历出来的值是字典的key(键)
然后再通过字典把key转换为值也就是演员列表
if actor in actors:
也就是判断 输入的演员在不在上面提到的演员列表中
故黄轩出演妖猫传!

欢迎追问

amengleng 发表于 2022-7-26 16:53:16

青出于蓝 发表于 2022-7-26 16:40
for循环遍历字典,遍历出来的值是字典的key(键)
然后再通过字典把key转换为值也就是演员列表
if actor...

actor 在 actors 里面是代表actor黄轩在所有演员表里,演员表里是有所有演员的值 但没有电影啊,电影是如何得出的呢?如果是因为字典的键,那为什么要多一步在演员表里,不能直接根据actor黄轩的值去配字典的键呢?

青出于蓝 发表于 2022-7-26 16:56:26

amengleng 发表于 2022-7-26 16:53
actor 在 actors 里面是代表actor黄轩在所有演员表里,演员表里是有所有演员的值 但没有电影啊,电影是如 ...

第一个问题 for循环遍历出来的就是电影名称
第二个问题 字典特点就是键对值,不能用字典的值去找字典的键,因为可能许多键对应相同的值!!

欢迎追问

amengleng 发表于 2022-7-26 17:05:53

青出于蓝 发表于 2022-7-26 16:56
第一个问题 for循环遍历出来的就是电影名称
第二个问题 字典特点就是键对值,不能用字典的值去找字典的 ...

噢 明白了!
for循环遍历电影名称第一遍只有妖猫传,第一遍actors只有妖猫传的值,再依次循环啊
感谢解答!
页: [1]
查看完整版本: 小白遍历字典问题