好的,所以我有一个这样的列表,我需要的是删除重复的值,这样我最终就只有 - 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))
