Почему создание списка внутри или вне цикла for дает разные результаты? ⇐ Python

Программы на Python
Anonymous
Почему создание списка внутри или вне цикла for дает разные результаты?

Сообщение Anonymous »

Итак, я создаю программу, которая удаляет повторяющиеся номера из списка. Суть упражнения заключается в использовании операторов «not in» и «in».
При первом создании кода я создал список без дубликатов внутри цикла for. Я получил странный ответ, но знал, что код правильный. Перемещение создания списка за пределы цикла for дало правильный результат, и я не понимаю, почему
ПРАВИЛЬНЫЙ ВЫВОД

Код: Выделить всё

my_list = [1, 2, 4, 4, 1, 4, 2, 6, 2, 9]
#

new_list = []

for i in my_list:

if i not in new_list:
new_list.append(i)
#
print("The list with unique elements only:")
print(new_list)
НЕПРАВИЛЬНЫЙ ВЫВОД

Код: Выделить всё

my_list = [1, 2, 4, 4, 1, 4, 2, 6, 2, 9]
#

for i in my_list:

new_list = []
if i not in new_list:
new_list.append(i)
#
print("The list with unique elements only:")
print(new_list)
Мой второй код не работал, он просто выдал число 9, но мой первый фрагмент кода (после перемещения оператора создания списка за пределы цикла for) дал мне правильный результат

Подробнее здесь: https://stackoverflow.com/questions/790 ... ent-result

Вернуться в «Python»