好的,所以我有一个这样的列表,我需要的是删除重复的值,以便我最终只有 - Joe Blow,Don Wiliams,Clark Gordon ......我正在尝试这个似乎不起作用的代码.我也尝试将列表转换为一组,但没有去.
有任何想法吗?谢谢
dupes = ["Joe Joe Joe Blow","Don Don Williams", "Clark Clark Gordon", "Albert Riddle"]
def remove_duplicates(dupes):
ulist = []
[ulist.append(x) for x in dupes if x not in ulist]
return ulist
a=' '.join(remove_duplicates(dupes))
print(a)
Run Code Online (Sandbox Code Playgroud)
将您的字符串转换为列表,将其转换为集合,然后将其与''连接起来.当转换为集合时,通过按原始字符串的索引排序来保留顺序.
for s in dupes:
print(' '.join(sorted(set(s.split()), key=s.index)))
Run Code Online (Sandbox Code Playgroud)
输出:
Joe Blow
Don Williams
Clark Gordon
Albert Riddle
Run Code Online (Sandbox Code Playgroud)
编辑:如果要更改列表:
def remove_duplicates(dupes):
for i in range(len(dupes)):
dupes[i] = ' '.join(sorted(set(dupes[i].split()), key=dupes[i].index))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
76 次 |
| 最近记录: |