我对 Python 不是很熟悉。但是,我想从字符串的行中删除重复项。
例如:
str = "aaa
aaa
aaa
abb
abb
ccc"
List 是一个排序好的有序列表。
str = "aaa
abb
ccc"
我有数百万这样的行。我知道删除重复项的漫长方法,但想知道是否有任何可能的简短形式。
最佳答案
- 不要使用
str
作为变量名,因为它是内置类型 - 使用
'''...'''
将多行字符串换行 - 在你的情况下使用
sorted
、set
、split
,
例如:
In [895]: print '\n'.join(sorted(set(ss.split())))
aaa
abb
ccc
感谢@user2357112 提到,如果你想保留单词出现的顺序,使用OrderedDict
:
In [910]: ss = '''zzz #<----------
...: aaa
...: aaa
...: aaa
...: abb
...: abb
...: ccc'''
In [911]: from collections import OrderedDict
...: print '\n'.join(OrderedDict.fromkeys(ss.split()))
zzz #here zzz ranks the first
aaa
abb
ccc
关于python - 从字符串中删除重复行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21963278/