Python替换并删除列表中的重复单词

2024-10-01 05:06:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试替换关键字并删除重复的单词。但目前,我无法产生我想要的结果。这是我的密码:

words = 'AZ:ABC,AZ:DEF,AZ:GHI,AZ:ABC-OO'

words = words.replace('AZ:', '') 
words = words.replace(',', '\',\'')
words = words.replace('-OO', '')
words = '\'' + words + '\''

print(words )

totalBeforeCount = len(words)
print(totalBeforeCount)

filtering = list(set(words))
print(filtering)
print(len(filtering))

以下是我目前的结果:

enter image description here

因此,正如您所看到的,它应该删除其中一个ABC,实际上是用字母表将它们分开。 我的预期结果应该是:'ABC','DEF'GHI'

非常感谢


Tags: 密码lendef关键字单词replacelistaz
2条回答

不要试图格式化字符串,使其看起来像逗号周围有引号,只需使用.split(",")返回实际列表:

words = 'AZ:ABC,AZ:DEF,AZ:GHI,AZ:ABC-OO'
words = words.replace('AZ:', '') 
words = words.replace('-OO', '')
list_of_words = words.split(",")
print(list_of_words)
print(set(list_of_words))

我们可以先根据“:”进行拆分,然后根据“,”进行拆分,而不是使用“替换”,从而得到预期的结果

>> words.split(":")
>> ["'ABC','DEF','GHI','ABC'"]

>> words.split(":")[0].split(",")
>> ["'ABC'", "'DEF'", "'GHI'", "'ABC'"]

一行

>> set(words.split(":")[0].split(","))
>> {"'ABC'", "'DEF'", "'GHI'"}

相关问题 更多 >