如何基于列表匹配条件修改Python值为元组的字典并追加字段?
实现代码
Python中的元组是不可变类型,无法直接修改内部元素或追加内容,所以我们直接构造符合要求的新元组替换字典原有值即可。
写法1:遍历修改原字典
fruits = ['apple', 'orange'] mydict = { 0: ('apple', 12), 1: ('xyz', 20), 2: ('orange', 15) } for key, value in mydict.items(): name, count = value if name in fruits: mydict[key] = (name, count, 'f') else: mydict[key] = ('tomato', count, 'unknown') # 输出验证 print(mydict)
运行后输出的结果和你要求的完全一致:{0: ('apple', 12, 'f'), 1: ('tomato', 20, 'unknown'), 2: ('orange', 15, 'f')}
写法2:字典推导式生成新字典
如果不想修改原字典,可以用推导式直接生成符合要求的新字典:
fruits = ['apple', 'orange'] mydict = {0: ('apple', 12), 1: ('xyz',20), 2:('orange',15)} new_mydict = { k: (v[0], v[1], 'f') if v[0] in fruits else ('tomato', v[1], 'unknown') for k, v in mydict.items() }
内容的提问来源于stack exchange,提问作者lk165001
相关产品推荐
相关产品推荐

