Как не выводить значения "" и 0, не исключая их из списка?? Python

Есть 2 списка:

list = [0, 1, 3, 22]
list2 = ["", "Телевизор", "Стол", "Обои"]

Можно ли не выводить значения "" и 0? При этом не исключать их из этих списков


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

Автор решения: Сергей Ш
def zero(lst):
       for i in lst:
              if i:
                     print(i)

lst = [0, 1, 3, 22]
lst2 = ["", "Телевизор", "Стол", "Обои"]
zero(lst)
zero(lst2)

1
3
22
Телевизор
Стол
Обои

for x in zip(lst, lst2):
       quantity, item = x
       if quantity:
              print(quantity, item)

1 Телевизор
3 Стол
22 Обои
→ Ссылка
Автор решения: Namerek

Немного разовью тему и предположу, что пустое соответствующее значение в списке наименований имеет не только индекс 0 но и другие индексы

from itertools import compress
ids = [0, 1, 3, 22, 52, 88]
names = ["", "Телевизор", "Стол", "Обои", "", "Стул"]

# Для получения сортированного вывода можно обернуть compress в sorted
# вместо map(bool, names) можно подставить просто names 
# но для наглядности оставлю так
for key, val in compress(zip(ids, names), map(bool, names)):
    print(key, val)

# 1 Телевизор
# 3 Стол
# 22 Обои
# 88 Стул

print(
    ids,
    names,
    sep='\n'
)
# Списки остались не измененнными
# [0, 1, 3, 22, 52, 88]
# ['', 'Телевизор', 'Стол', 'Обои', '', 'Стул']
→ Ссылка