Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
List 在保持文件有序的同时从文件中删除重复数据-python3.5_List_Duplicates_Python 3.5_Alphabetical - Fatal编程技术网

List 在保持文件有序的同时从文件中删除重复数据-python3.5

List 在保持文件有序的同时从文件中删除重复数据-python3.5,list,duplicates,python-3.5,alphabetical,List,Duplicates,Python 3.5,Alphabetical,我试图打开一个文件,将其拆分,按字母顺序排列,然后删除重复的文件。我已经能够打开文件,将其拆分,正确排序,并将其放入列表中,但在消除重复数据时遇到了问题。我将如何打印出按字母顺序排列并消除重复的列表 以下是我目前拥有的: userinp = input('Enter file: ') romeo = open(userinp) inp = romeo.read() sections = inp.split() sections.sort() shakespeare = list(sections

我试图打开一个文件,将其拆分,按字母顺序排列,然后删除重复的文件。我已经能够打开文件,将其拆分,正确排序,并将其放入列表中,但在消除重复数据时遇到了问题。我将如何打印出按字母顺序排列并消除重复的列表

以下是我目前拥有的:

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()重新确认

我只是在做一个简单的示例:

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
使用

假设您有
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

我在理解你想要做什么方面有点问题。对此我很抱歉。我正在尝试从文件中提取文本,删除重复的单词,并按字母顺序打印出来。我遇到的问题是让它进行重复数据消除并按字母顺序排列。我能得到一个或另一个,但不是两个。这有意义吗?我是说,你能做到。以我的答案为例,显示排序数组上的列表重复。你想在排序之前复制吗?我不想复制任何东西。我有一个包含重复单词的文本,我尝试按字母顺序只打印每个单词中的一个。我是编程新手,所以我很难使用下面的示例,该示例使用定义的列表,并将它们应用于需要从文件中提取文本的问题。哦,只有一个唯一的集合。好啊我现在知道你想要什么了。我会更新我的回答,在理解你想要做什么方面有点问题。对此我很抱歉。我正在尝试从文件中提取文本,删除重复的单词,并按字母顺序打印出来。我遇到的问题是让它进行重复数据消除并按字母顺序排列。我能得到一个或另一个,但不是两个。这有意义吗?我是说,你能做到。以我的答案为例,显示排序数组上的列表重复。你想在排序之前复制吗?我不想复制任何东西。我有一个包含重复单词的文本,我尝试按字母顺序只打印每个单词中的一个。我是编程新手,所以我很难使用下面的示例,该示例使用定义的列表,并将它们应用于需要从文件中提取文本的问题。哦,只有一个唯一的集合。好啊我现在知道你想要什么了。我会更新我的答案