numbers = [5, 2, 5, 8, 3, 10, 23, 10]
numbers2 = numbers.copy()
are_there_duplicates = True
number_duplicate_index = 0
number_duplicate = numbers[number_duplicate_index]
while are_there_duplicates:
for num in numbers:
if num == number_duplicate:
numbers.remove(number_duplicate)
number_duplicate_index = 0
elif number_duplicate_index >= (len(numbers2)):
are_there_duplicates = False
else:
number_duplicate_index += 1
print(numbers)
ВЫХОД:
[2, 8, 3, 10, 23, 10]
Можете ли вы сказать мне, что я делаю неправильно?
ВЕРСИЯ PYTHON:
3.13.0 P.S. Я знаю, что он не оптимизирован, и я мог бы использовать функцию .set() или .count(), но мне действительно любопытно понять, почему выходные данные не исключают десятки!!! Большое спасибо!!!
Я внес несколько изменений в код, а также спросил ChatGPT, но не смог мне помочь.
Я ожидал, что код удалил все дубликаты!
Я увлекаюсь Python 3 дня назад. Я пытался создать программу, которая удаляет все дубликаты в списке. Вот что я написал: р> [code]numbers = [5, 2, 5, 8, 3, 10, 23, 10] numbers2 = numbers.copy() are_there_duplicates = True number_duplicate_index = 0 number_duplicate = numbers[number_duplicate_index] while are_there_duplicates: for num in numbers: if num == number_duplicate: numbers.remove(number_duplicate) number_duplicate_index = 0 elif number_duplicate_index >= (len(numbers2)): are_there_duplicates = False else: number_duplicate_index += 1 print(numbers) [/code] ВЫХОД: [2, 8, 3, 10, 23, 10] Можете ли вы сказать мне, что я делаю неправильно? ВЕРСИЯ PYTHON: 3.13.0 [b]P.S. Я знаю, что он не оптимизирован, и я мог бы использовать функцию .set() или .count(), но мне действительно любопытно понять, почему выходные данные не исключают десятки!!! Большое спасибо!!![/b] Я внес несколько изменений в код, а также спросил ChatGPT, но не смог мне помочь. Я ожидал, что код удалил все дубликаты!