Python将list_one转set时混入list_two内容 如何获取其唯一单词
修复方案
第一步:确认list_one拆分逻辑
首先排查列表拆分环节的问题,输出混有list_two单词是因为list_one本身就包含了不属于前100个的元素:
- 检查拆分代码是否符合预期,取前100个元素的正确写法为
list_one = words[:100],剩余元素存入list_two的写法为list_two = words[100:] - 拆分前不要修改原
words列表的顺序和内容,拆分完成后先单独打印list_one,确认和你给出的示例内容一致后再执行去重操作
第二步:实现保留首次出现顺序的去重
直接用set()转换会丢失元素顺序,且set本身是无序集合,输出的元素顺序和你预期不符,按Python版本选择对应去重方案:
Python 3.7及以上版本(最简单方案)
利用Python 3.7+字典默认保留键插入顺序的特性实现去重:
list_one_unique = list(dict.fromkeys(list_one)) print(list_one_unique)
兼容所有Python版本方案
用辅助集合记录已经出现过的元素,遍历原列表保留首次出现的元素:
seen = set() list_one_unique = [] for word in list_one: if word not in seen: seen.add(word) list_one_unique.append(word) print(list_one_unique)
内容的提问来源于stack exchange,提问作者cream
相关产品推荐
相关产品推荐

