Python文本中的重复单词Fi

2024-05-23 23:25:27 发布

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

我有一个txt文件

文本文件如下所示:

还是没用。在

['None']['Vega~']['Vega~']['Vega~']['8^)->-<']['violence']['puker']['Zanaz']['Funk']['8^)->-<']['8^)->-<']['8^)->-<']['Vega~']['violence']['Zanaz']['Funk']['puker']['Vega~']['Vega~']['Vega~']['8^)->-<']['violence']['puker']['Zanaz']['None']['Lawn']['Lawn']['Lawn']['Leafy']['Judge69']['David']['lilwade']['Pity.']['artofwar']['Hazecloud']['Lawn']['Lawn']['Lawn']['Judge69']['Leafy']['David']['lilwade']['Hazecloud']['Lawn']['Lawn']['Lawn']['Leafy']['David']['Pity.']['lilwade']['artofwar']['Judge69']

我需要删除所有的重复,这样每个名字应该只显示一次,也必须保持他们的顺序。在

   fo = open('C:\Python26\myfile.txt','r')
   name_cache = fo.readlines()
   typea = name_cache[0]

   def unique_list(l):
      ulist = []
      [ulist.append(x) for x in l if x not in ulist]
      return ulist

   mast =' '.join(unique_list(typea.split()))
   print mast

Tags: txtnonedavidvegafunklawnulistviolence
3条回答
s = "['None']['Vega~']['Vega~']['Vega~']['8^)->-<']['violence']['puker']['Zanaz']['Funk']['8^)->-<']['8^)->-<']['8^)->-<']['Vega~']['violence']['Zanaz']['Funk']['puker']['Vega~']['Vega~']['Vega~']['8^)->-<']['violence']['puker']['Zanaz']['None']['Lawn']['Lawn']['Lawn']['Leafy']['Judge69']['David']['lilwade']['Pity.']['artofwar']['Hazecloud']['Lawn']['Lawn']['Lawn']['Judge69']['Leafy']['David']['lilwade']['Hazecloud']['Lawn']['Lawn']['Lawn']['Leafy']['David']['Pity.']['lilwade']['artofwar']['Judge69']"
ss = s[1:-1]
l = []
for i in ss.split(']['):
    if i not in l:
        l.append(i)
r = ' '.join(l)

结果是:

^{pr2}$

您可以这样做:

import collections
def unique_list(l): return list(OrderedSet(l))

而且,typea只是一个没有空格的字符串。要拆分名称,请执行以下操作:

^{pr2}$

首先删除前导[和尾随]。然后split][上。例如

>>> x="['None']['Vega~']['Vega~']"
>>> x.rstrip(']').lstrip('[').split('][') 
["'None'", "'Vega~'", "'Vega~'"]

然后打电话给你的unique_list。在

^{pr2}$

然后您可以轻松地将其格式化为您想要的任何格式(即字符串)。在

注意,rstrip和{}都是O(n)。所以最好是x[1:-1]。这假设您100%确定输入是给定形式(以[开头,以]结尾)

这与散列每个单词(添加到python集合中)具有相同的O(n)时间复杂性,但保持了原始顺序,并使用了您的(相当简洁的)unique_list函数。在

相关问题 更多 >