从文件中删除重复列表,同时保持顺序-python3.5
问题描述:
我想打开一个文件,拆分它,按字母顺序排序,然后删除重复项。我已经能够打开文件,分割文件,正确排列文件,并将其放入列表中,但是我很难对其进行重复数据删除。我将如何去打印出一个按字母顺序排列和重复数据删除的列表?从文件中删除重复列表,同时保持顺序-python3.5
这是我目前有:
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)
答
我只是做一个简单的示例:
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)
我的前提是:
- 遍历数组,并注入到地图中创造一个独特的密钥。
- 然后在地图上循环,将其变回列表。
-
- 这是通过在排序的庄园中散步数组自动排序的,但是您可以随时调用.sort()来重新确认您是否选择。
答
说你有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
即时通讯有点问题了解你想做什么。 – Fallenreaper
对不起。我正在尝试从文件中删除重复文字,并按字母顺序打印出来。我遇到的麻烦是将其重复数据删除并按字母顺序排列。我能够得到一个或另一个,但不能两个。那有意义吗? – jaywah
我的意思是,你可以做到这一点。所以以我的答案为例,它显示了排序数组上的列表重复。你想在排序之前复制吗? – Fallenreaper