我正在尝试打开一个文件,将其拆分,按字母顺序排序,然后删除重复项。我已经能够打开文件,拆分它,正确地命令它,并把它放在一个列表中但是我在重复删除它时遇到了麻烦。我如何打印出按字母顺序和重复数据删除的列表?
以下是我目前的情况:
userinp = input('Enter file: ')
romeo = open(userinp)
inp = romeo.read()
sections = inp.split()
sections.sort()
shakespeare = list(sections)
for i in sections:
if i not in shakespeare:
shakespeare.append(i)
print(shakespeare)
答案 0 :(得分:0)
我只是做了一个简单的样本:
a = [9,8,7,6,5,4,3,2,1]
for i in a:
b[i] = 0
b = [x for x in b]
这将限制您的结果集。
在您的代码中,使用相同的过程:
userinp = input('Enter file: ')
romeo = open(userinp)
inp = romeo.read()
sections = inp.split()
shakespeare = {}
for i in sections:
shakespeare[i] = 0
shakespeare = [x for x in b]
print(shakespeare)
我的前提是:
答案 1 :(得分:0)
假设你有file.txt
包含
b
b
c
a
你可以做到
from collections import OrderedDict
with open('file.txt', 'rb') as f:
lines = f.readlines()
lines.sort()
for line in OrderedDict.fromkeys(lines):
print(line.strip())
将打印出来
a
b
c