如何在Python字典中移除单个键的多值,仅保留第一个值
保留Python字典中每个键对应集合的单个元素
注意:Python中的集合(set)是无序结构,不存在“固定第一个值”的概念,每次运行获取的元素可能随机。如果需要稳定的顺序,建议将集合替换为列表或使用有序集合类型。
方法一:通过迭代器提取单个元素
遍历原字典的键值对,利用next(iter(set))从每个集合中取出一个元素,构建新字典:
myDict = {1: {'id1', 'id2', 'id3'}, 2: {'id4', 'id5'}, 3: {'id6'}} new_dict = {key: {next(iter(value))} for key, value in myDict.items()} print(new_dict)
输出示例(元素顺序可能因集合无序性变化):
{1: {'id1'}, 2: {'id4'}, 3: {'id6'}}
方法二:转为列表后取固定位置元素
若需要基于插入顺序获取元素(Python 3.7+ 集合会保留插入顺序),可先将集合转为列表,再取索引为0的元素:
myDict = {1: {'id1', 'id2', 'id3'}, 2: {'id4', 'id5'}, 3: {'id6'}} new_dict = {key: {list(value)[0]} for key, value in myDict.items()} print(new_dict)
内容的提问来源于stack exchange,提问作者Codingamethyst
相关产品推荐
相关产品推荐

