Skip to main content
 首页 » 编程设计

python之从字符串列表中删除重复项

2025年05月04日15kuangbin

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