好的,所以我有一个这样的列表,我需要删除重复的值,以便最终得到-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)
最佳答案
将您的字符串转换为列表,将其转换为集合,然后使用''将其重新加入。强制转换为集合时,请通过按原始字符串的索引进行排序来保留顺序。
for s in dupes:
print(' '.join(sorted(set(s.split()), key=s.index)))
输出:
Joe Blow
Don Williams
Clark Gordon
Albert Riddle
编辑:如果您想更改列表到位:
def remove_duplicates(dupes):
for i in range(len(dupes)):
dupes[i] = ' '.join(sorted(set(dupes[i].split()), key=dupes[i].index))
关于python - 从字符串列表中删除重复项,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54029036/