使用python查找并删除文件行中的重复单词

2024-09-27 17:35:04 发布

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

我想删除每行中第一个后面用“;”分隔的额外单词,并在一行中只返回该sequnce的一个副本:

数据:

XTY1;XTY3;XTY3;XTY3;XTY2;XTY1;XTY1;XTY1
XTY3;XTY4;XTY4;XTY3;XTY2;XTY7;XTY7;XTY1
XTY10;XTY3;XTY4;XTY2;XTY2;XTY11;XTY11;XTY1

所需输出:

^{pr2}$

我的代码如下:

for line in cluster3_urls:
    list_of_words = line.split(',')
for i in list_of_words:
    next_word = list_of_words[list_of_words.index(i) + 1]
    if list_of_words == next_word:
        list_of_words=list_of_words
        print list_of_words

有人能告诉我为什么我的代码不起作用吗?在


Tags: of代码inforlinelistwordnext
3条回答

您的代码现在失败,因为您在错误的分隔符上拆分。另外,一旦您修复了这个问题,当您到达最后一个单词时,next_word = list_of_words[list_of_words.index(i) + 1]上的代码将额外失败。剩下的代码毫无意义,if语句将数组与该数组的元素进行比较,然后将箭头设置为自身(不执行任何操作)。我建议你完全重写你的代码。在

我认为问题是你吐痰是基于逗号而不是分号 试着换线

list_of_words = line.split(';')

你的代码有很多问题。考虑itertools.groupby

from itertools import groupby

input = 'XTYYY1;XTYYY3;XTYYY3;XTYYY3;XTYYY2;XTYYY1;XTYYY1;XTYYY1'

output = ';'.join([k for k, g in groupby(input.split(';'))])

# output: 'XTYYY1;XTYYY3;XTYYY2;XTYYY1'

相关问题 更多 >

    热门问题