gpt4 book ai didi

python - 删除以逗号分隔的重复单词

转载 作者:行者123 更新时间:2023-12-01 03:00:22 24 4
gpt4 key购买 nike

我是 python 新手,我有一个包含以下内容的文本文件

ss ss1, ss ss2, ss ss3, ss ss2, ss ss2, ss ss3

我想删除重复的单词。我的预期输出如下

ss ss1, ss ss2, ss ss3

我正在使用下面的代码

f = open('a.txt', 'r')
file_contents = f.read()
words = file_contents.split()
SS=",".join(sorted(set(words), key=words.index))
print SS

我当前的输出是

ss,ss1,,ss2,,ss3,,ss2

最佳答案

如果你不需要列表的顺序,你可以试试这个:

>>> f="ss ss1, ss ss2, ss ss3, ss ss2, ss ss2, ss ss3"
>>> list(set( f.split(', ')))
['ss ss2', 'ss ss3', 'ss ss1']

list构造set可能需要很多时间,另一种保持顺序的方法:

>>> f="ss ss1, ss ss2, ss ss3, ss ss2, ss ss2, ss ss3"
>>> result=[]
>>> for i in f.split(', '):
... if i not in result:
... result.append(i)
...
>>> result
['ss ss1', 'ss ss2', 'ss ss3']
<小时/>

顺便说一句,如果列表非常大,使用set来检查新项目是否已存在是一种更有效的方法。

>>> result=[]
>>> s=set()
>>> for i in f.split(', '):
... if i not in s:
... result.append(i)
... s.add(i)
...
>>> result
['ss ss1', 'ss ss2', 'ss ss3']

关于python - 删除以逗号分隔的重复单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43908180/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com