Как узнать, что второе значение не равно -1?

Есть такие данные:

[(1, 15772), (2, 15773), (3, 15778), (4, -1), (5, 15766), (6, 15776), (7, -1), (8, 15777), (9, -1), (10, 15770), (11, -1)]

Подскажите, пожалуйста, как узнать, что значение не равно -1?
То-есть для (1, 15772) - что 15772 не равно -1, потом 15773 не равно -1


Ответы (2 шт):

Автор решения: Jack_oS
data = [(1, 15772), (2, 15773), (3, 15778), (4, -1), (5, 15766), (6, 15776), (7, -1), (8, 15777), (9, -1), (10, 15770), (11, -1)]
for d in data:           # переберите все элементы списка
    if d[1] != -1:       # сравните второе значение (d[1] индексы начитаются с 0) с -1
        print(d)         # печать элемента, если не -1

распечатает только элементы списка со вторым значением, не равным -1:

(1, 15772)
(2, 15773)
(3, 15778)
(5, 15766)
(6, 15776)
(8, 15777)
(10, 15770)
→ Ссылка
Автор решения: TigerTV.ru

Просто:

print(*(a for a in data if a[1] != -1))

а можно так:

print(*filter(lambda x: x[1] != -1, data))

Или без префиксной "звездочки":

for i in filter(lambda x: x[1] != -1, data):
    print(i)
→ Ссылка