Python 将包含集合与元组的列表扁平化为仅含集合元素的列表
错误原因
你之前的两种写法逻辑都是将元组内的集合、字符串作为独立元素追加到结果列表,没有执行集合合并操作,因此无法得到预期结果。
正确实现
核心逻辑为:遍历每个元组,将元组内的字符串包装为单元素集合,和元组内原有集合合并为新集合即可,该实现不会修改原列表中的旧集合。
列表推导式写法(推荐)
# 假设原输入列表为 input_list result = [s | {string} for s, string in input_list]
也可以用集合的union方法实现,效果完全一致:
result = [s.union({string}) for s, string in input_list]
显式循环写法
result = [] for s, string in input_list: new_set = s.copy() new_set.add(string) result.append(new_set)
用你提供的输入测试上述代码,输出结果和你给出的预期结构完全一致。
内容的提问来源于stack exchange,提问作者Nekojell
相关产品推荐
相关产品推荐

