我有一个包含多个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。
答案 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())