Python — как удалить из списка кортеж

Admin Python

Удаление одного или нескольких значений кортежей из списка в Python.

Имеем список (list) из кортежей (tuple):

[(1598900760, 0),
(1598900820, 9052),
(1598900880, 4866),
(1598900940, 3742),
(1598901240, None),
(1598901297, 0)]

Удалим отсюда все что является нулем или None.

for price in prices:
    if price[1] == 0:
        prices.remove(price)

for price in prices:
    if price[1] is None:
        prices.remove(price)

Получим

[(1598900820, 9052),
(1598900880, 4866),
(1598900940, 3742)]

Казалось бы, можно объединить в один цикл:

for price in prices:
    if price[1] == 0 or price[1] is None:
        prices.remove(price)

Но нет, в этом случае будет что-то вроде (не удалилось последнее значение):

[(1598900820, 9052),
(1598900880, 4866),
(1598900940, 3742),
(1598901297, 0)]

Видимо это связано с особенностью создания объектов в python.

На сайте отсутствует реклама! Значете почему?

Помогать людям - моё хобби. А навыки разработчика позволяют не парится нулевой монетизизацией этого сайта. Хотя...

Если вам помогла информация, то даже от доната в 40 рублей мне будет приятно. Докину немного, куплю латте в макдаке, вспомню за чей счет банкет и карма вам зачтется!

Но и просто оставленный комментарий благодарности ниже принесет мне улыбку радости :)

А если захочется написать всякие гадости с переходом на личности, да тоже не стесняйтесь, но обычно я отправляю такое в спам. Люблю, когда дома чисто.

Добавить комментарий

Напишите свой комментарий, если вам есть что добавить/поправить/спросить по теме текущей статьи:
"Python — как удалить из списка кортеж"