Python: Append-Function добавляет несколько значений

Сейчас я некоторое время пишу на python, и со вчерашнего дня я наткнулся на проблему с функцией "append", которая кажется совершенно случайной, и я не могу найти логическую причину для этого!

Я хочу добавить логические значения в существующий список. Мой кусок кода выглядит так:

comp_bounds = []
for item_i,item_j in zip(x_bound_min,x_bound_max):
     if item_i == item_j: comp_bounds.append(1)
     else: comp_bounds.append(0) 

Проблема в том, что код добавляет не одно значение в список для каждого цикла, а больше! Однако это появляется случайно. Иногда все нормально, а иногда добавляет два или три логических значения. Я попытался протестировать его в консоли, набрав команду append-function, и там произошло то же самое. Вот часть моих консольных команд:

del comp_bounds[:]
None
comp_bounds.append(1)
comp_bounds
[1]
comp_bounds.append(0)
None
comp_bounds.append(0)
None
comp_bounds
[1, 0, 0, 0, 0, 0, 0]

Как видите, я сначала удалил значения списка, добавил 1 в список, и все было в порядке. Чем я добавил два раза 0 и вот оно! Почему команда добавления добавляет 6 раз 0? Я пытался использовать "True" и "False" в начале, но то же самое появилось. Вот почему я переключился на "0/1", надеясь, что проблема будет решена. Я использую Visual Studio в качестве IDE. Я знаю разницу между "добавить" и "расширить". Мой код может легко переключаться на расширение и, возможно, работать нормально, но я хочу понять проблему, чтобы избежать повторения той же ошибки в будущем!

Заранее спасибо!

0 ответов

Другие вопросы по тегам