我以前试过这个:
path = input()
f = open(path,'r+', encoding='utf-8')
data = f.readlines()
list1 = []
list1 = [data]
list2 = []
list2 = [x for n, x in enumerate(list1) if x in list1[:n]]
print(list2)
输出:[](无其他内容) 通过观察,我可以确定我的txt文件中有3行重复的句子,但为什么程序无法检测到它? 或者有没有更好的代码来检测重复的句子而不是使用枚举函数
2021-07-17 19:03:05 [Kircher Alden]- Alas, alas, that great COVER
2021-07-17 19:03:05 [Kircher Alden]- Alas, alas, that great COVER
2021-07-17 19:03:05 [Oseph Steven]- 🌽🐏🔥
2021-07-17 19:03:05 [Kircher Alden]- Alas, alas, that great COVER
2021-07-17 19:03:05 [sheep Lec]- こんぬい~!
2021-07-17 19:03:05 [なおるひ]- こんぬい~
2021-07-17 19:03:05 [ken.]- こんぬい~🔥
2021-07-17 19:03:05 [迦楼羅]- 自称w
2021-07-17 19:03:05 [Nikki_watamate]- こんぬい~~
2021-07-17 19:03:05 [またじろうmatajirou]- こんばんはー!!
2021-07-17 19:03:05 [いちにー]- ん?
2021-07-17 19:03:05 [桜小路こいし]- こんぬい~🔥
2021-07-17 19:03:06 [錯乱した青年C]- こんぬいー
2021-07-17 19:03:06 [博雅]- こんぬい~🔥
2021-07-17 19:03:06 [Ramon Gullett]- 直 到 永 永 远 远 。
2021-07-17 19:03:06 [Ramon Gullett]- 直 到 永 永 远 远 。
2021-07-17 19:03:06 [Ramon Gullett]- 直 到 永 永 远 远 。
2021-07-17 19:03:06 [出雲]- こんぬい~!
2021-07-17 19:03:06 [。ロクマル]- こんぬい〜!
2021-07-17 19:03:07 [ルシルイ「RushiRui」]- こんぬい〜
2021-07-17 19:03:07 [たけゆき]- こんぬい~
2021-07-17 19:03:07 [sss]- かな?
2021-07-17 19:03:07 [ももてぃん]- こんぬい!!!
2021-07-17 19:03:07 [Calico cat]- 👏👏👏👏👏
2021-07-17 19:03:07 [Rari Ehlani]- как будто судьи в суде
2021-07-17 19:03:07 [ちゃかげ]- ん?
2021-07-17 19:03:07 [dew 0w0]- Hi friend
2021-07-17 19:03:07 [メネスexam]- かな?
2021-07-17 19:03:08 [kotoharu]- なんでも?!
2021-07-17 19:03:08 [夏目陽射]- おおー!!
2021-07-17 19:03:08 [Jackson Winget]- 哀 哉 , 哀 哉 , 这 大 COVER 阿
2021-07-17 19:03:08 [Dong Vaught]- 直 到 永 永 远 远 。
2021-07-17 19:03:08 [オウィスクリーク]- 草
2021-07-17 19:03:08 [ストラ]- 自称w
2021-07-17 19:03:08 [カルマ]- 👏👏👏
2021-07-17 19:03:08 [Jackson Winget]- 哀 哉 , 哀 哉 , 这 大 COVER 阿
2021-07-17 19:03:08 [Jackson Winget]- 哀 哉 , 哀 哉 , 这 大 COVER 阿
2021-07-17 19:03:08 [トール]- 草
2021-07-17 19:03:08 [Gordon Fryer]- Alas, alas, that great COVER
2021-07-17 19:03:08 [Dong Vaught]- 直 到 永 永 远 远 。
2021-07-17 19:03:08 [Dong Vaught]- 直 到 永 永 远 远 。
2021-07-17 19:03:08 [グリード]- 草
2021-07-17 19:03:08 [Gordon Fryer]- Alas, alas, that great COVER
2021-07-17 19:03:08 [とどぐら雄]- ふーたん!今日はよろしくね
2021-07-17 19:03:08 [miro]- lol
2021-07-17 19:03:08 [Gordon Fryer]- Alas, alas, that great COVER
2021-07-17 19:03:08 [大分県のボードゲーマー]- 自称w
2021-07-17 19:03:09 [オッドポール三等軍曹]- かな?草
2021-07-17 19:03:09 [renrenドドド]- 👏👏👏👏👏👏
2021-07-17 19:03:09 [ばとうさ]- こんぬい~
2021-07-17 19:03:09 [プレーネ]- 草
如果您只想检测文件中是否有重复的句子,请使用set()
data
是行的列表,因此list1
是一个项目的列表:行的列表。如果您改为list1 = data
,则应找到您的副本首先,你不应该在列表中查找事物列表:列表查找很慢,随着列表长度的增加,你会得到非常糟糕的性能(谷歌“二次行为”)
如果你的句子真的一模一样,一个字一个字,这将是一个有效的方法来找出:
如果行不完全相同,则需要先读入并清理,大致如下:
相关问题 更多 >
编程相关推荐