删除重复的内容python

时间:2014-04-01 11:21:39

标签: arrays python-2.7 duplicates

我有一个包含多个jobtitle的文本文件。我想删除重新出现的标题。我创建了2个空数组,一个用于所有jobtitle,另一个用于存储非重复值。 我使用的代码是:

with open('jobtitle.txt') as fp:
jobtitle =[]
jobtitle_original = []
for line in fp:
 jobtitle.append(line)
for i in range(0,len(jobtitle)):
 for j in range(0,len(jobtitle_original)):
  if jobtitle_original[j] == jobtitle[i]:
   continue
  else:
   jobtitle_original.append(jobtitle[i])
print jobtitle_original

但是它返回一个空数组。我正在使用Python 2.7。

2 个答案:

答案 0 :(得分:1)

您只需使用set

即可
jobs = ['engineer','artist','mechanic','teacher','teacher','engineer','engineer']

print list(set(jobs))
['engineer','artist','mechanic','teacher']

更简单的演示:

>>> lst = [1,4,2,4,3,5,3,5,3,5,4,5,4]
>>> print list(set(lst))
[1,4,2,3,5]

set获取列表并创建set个非重复项。然后,您只需使用list(set(something))将其转换为列表。

答案 1 :(得分:1)

合并文件输入和set解决方案。

with open('jobtitle.txt') as fp:
    result = set(fp.readlines())