a = {'John': 60, 'Alice': 95, 'Paul': 80, 'James': 75, 'Bob': 85}
问题:如何找出得75分的那个同学?
方法一:利用 keys() 、values()、index() 函数
name = list(a.keys())[list(a.values()).index(75)] print(name) # 输出结果:James
方法二:通过列表解析式
name = [key for key, value in a.items() if value == 75] print(name) # 输出结果:['James']
方法三:将原字典进行反转得新字典
a_inv = {value: key for key, value in a.items()} print(a_inv[75]) # 输出结果:James
回顾列表解析式
列表解析式的三个核心要素是:
1.作用于输入序列的运算表达式;
2.对输入序列的循环表达式;
3.对输入序列的过滤条件,其中过滤条件是可选的。
1,2,3之间以空格隔开