如何在Python中随机获取字典的键及其对应值?
解决随机获取字典键及其对应值的问题
你可以通过dict.items()方法直接获取字典的键值对元组列表,再用random.choice()随机选择一组,就能同时拿到键和对应的值。
修改后的基础代码
import random dict_example = { "name 1" : { "born" : "London", "residence" : "Brighton", }, "name 2" : { "born" : "Paris", "residence" : "Nice", }, } # 获取所有键值对的元组列表,每个元组格式为(键, 值) random_pair = random.choice(list(dict_example.items())) # 拆分键和值 random_key, random_value = random_pair print(f"随机键: {random_key}") print(f"对应值: {random_value}")
简化写法
如果不需要单独存储键值对列表,也可以直接一步完成:
random_key, random_value = random.choice(list(dict_example.items()))
用于后续对比的示例
如果需要随机获取多组键值对进行对比,可以封装成函数,同时确保选中的键不重复:
import random dict_example = { "name 1" : { "born" : "London", "residence" : "Brighton", }, "name 2" : { "born" : "Paris", "residence" : "Nice", }, } def get_random_key_value(): return random.choice(list(dict_example.items())) # 获取第一组 key1, value1 = get_random_key_value() # 获取第二组,确保和第一组键不同 key2, value2 = get_random_key_value() while key1 == key2: key2, value2 = get_random_key_value() # 对比出生地 print(f"{key1} 的出生地: {value1['born']}") print(f"{key2} 的出生地: {value2['born']}") print(f"两地是否相同: {value1['born'] == value2['born']}")
内容的提问来源于stack exchange,提问作者user19876853
相关产品推荐
相关产品推荐

