使用列表推导式遍历字典,收集所有符合条件的键:
python
my_dict = {'apple': 1, 'banana': 2, 'cherry': 2}
target_value = 2
查找所有值为2的键
keys = [k for k, v in my_dict.items if v == target_value]
print(keys) 输出:['banana', 'cherry']
使用生成器表达式和 `next` 函数获取第一个匹配的键:
python
key = next((k for k, v in my_dict.items if v == target_value), None)
print(key) 输出:banana(若不存在则返回None)
python
示例:查找不存在的值
target_value = 3
keys = [k for k, v in my_dict.items if v == target_value]
if not keys:
print("未找到对应的键")
else:
print("匹配的键:", keys)
使用next时处理未找到
key = next((k for k, v in my_dict.items if v == target_value), "默认值")
print(key) 输出:默认值
1. 值唯一性:字典的值可以重复,因此结果可能是多个键。
2. 效率问题:遍历整个字典的时间复杂度为O(n),适合数据量不大的场景。
3. 值类型:如果值是列表、字典等可变对象,`==` 会比较内容而非对象地址。
通过上述方法,可以根据需求灵活获取字典*定值对应的键。
版权声明: 知妳网保留所有权利,部分内容为网络收集,如有侵权,请联系QQ793061840删除,添加请注明来意。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态
