Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 如何删除Python列表中的重复项_Python 3.x_List - Fatal编程技术网

Python 3.x 如何删除Python列表中的重复项

Python 3.x 如何删除Python列表中的重复项,python-3.x,list,Python 3.x,List,我刚开始学习Python,我想学习如何删除列表中输入的重复元音(我也为我糟糕的英语技能感到抱歉) 这是我的代码: vowels = ['a', 'e', 'i', 'o', 'u'] word = input("Provide a word to search for vowel >> ") found = [] for letter in word: if letter in vowels: found.append(letter)

我刚开始学习Python,我想学习如何删除列表中输入的重复元音(我也为我糟糕的英语技能感到抱歉)

这是我的代码:

vowels = ['a', 'e', 'i', 'o', 'u']
word = input("Provide a word to search for vowel >> ")
found = []

for letter in word:
    if letter in vowels:
        found.append(letter)

for letter in found:
    if found.count(letter) > 1:
        found.remove(letter)

print(found)
如果我输入,比如说,“aaaaa”,输出是:

['a', 'a']
仅应打印以下内容:

['a']
如何修复此代码


另外,这是我在stackoverflow上的第一篇文章,我非常感谢任何试图联系我的人。非常感谢你

您试图在迭代列表时修改列表。对此有详细的解释

作为一个解决方案,考虑使用另一个列表来寻找这样的唯一元素:

vowels = ['a', 'e', 'i', 'o', 'u']
word = input("Provide a word to search for vowel >> ")
found = []
found_unique = []

for letter in word:
    if letter in vowels:
        found.append(letter)

[found_unique.append(x) for x in found if x not in found_unique]

print(found_unique)


但最简单的方法是使用python3的
set()
,因为它的元素在定义上是唯一的。

可以使用一个集合,也可以在第一次找到字母后将其从查找的内容列表中删除:

vowels = ['a', 'e', 'i', 'o', 'u']
word = input("Provide a word to search for vowel >> ")
found = []

for letter in word:
    if letter in vowels:
        found.append(letter)
        vowels.remove(letter)  # no longer look for this specific vowel
    if not vowels: 
        break                  # no more vowels to look for, quick exit

print(found)
输出:

Provide a word to search for vowel >>  aaaaa
['a']