首页 > 解决方案 > 不能删除python数组中的重复单词

问题描述

我正在尝试从 python 中删除重复的单词,一切正常,但是“Kate”单词仍然重复。帮我

def custom_function(list):
sia = []
for item in list:
    sia.append(item.capitalize())

for word in sia:
    while sia.count(word) != 1:
        sia.remove(word)
        if sia.count(word) == 1:
            break


return sia



unknown_list = ["toby", "James", "kate", "George", "James", "rick", "Alex", 
"Jein", "Alex", "Alex","George", "Jein", "kate", "medelin"]

print(custom_function(unknown_list))

标签: pythonarrayswhile-loopcount

解决方案


您可以使用 list copy()方法执行以下操作:

def custom_function(list):

    sia = []
    for item in list:
        sia.append(item.capitalize())

    sia_orig = sia.copy()
    for word in sia_orig:

        while True:
            if sia.count(word) != 1:
                sia.remove(word)
                if sia.count(word) == 1:
                    break
            else:
                break

    return sia

unknown_list = ["toby", "James", "kate", "George", "James", "rick", "Alex", 
"Jein", "Alex", "Alex","George", "Jein", "kate", "medelin"]

print(custom_function(unknown_list))

输出:

['Toby', 'James', 'Rick', 'Alex', 'George', 'Jein', 'Kate', 'Medelin']

推荐阅读