Проверить элементы в в списке кортежей на четность
ListWithCortege = [(2, 4, 2, 1, 0), (4, 2, 1, 0), (1, 1, 0), (4, 1), (1, 4, 1),(1,)]
result = []
for cort in ListWithCortege:
result.append(list(zip(cort, cort[1:])))
for i in result:
print(i)
Вывод:
[(2, 4), (4, 2), (2, 1), (1, 0)]
[(4, 2), (2, 1), (1, 0)]
[(1, 1), (1, 0)]
[(4, 1)]
[(1, 4), (4, 1)]
[]
Как сюда ввернуть проверку типа: если количество элементов в элементе списка кортежей = 1, то добавить 99999. Чтобы элемент (1,) стал (1,99999).
Вывод должен быть:
[(2, 4), (4, 2), (2, 1), (1, 0)]
[(4, 2), (2, 1), (1, 0)]
[(1, 1), (1, 0)]
[(4, 1)]
[(1, 4), (4, 1)]
[(1,99999)]
Ответы (2 шт):
Автор решения: CrazyElf
→ Ссылка
Например, так:
result.append(list(zip(cort, list(cort[1:]) + [99999] * (len(cort) == 1))))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Автор решения: SergFSM
→ Ссылка
или так:
ListWithCortege = [(2, 4, 2, 1, 0), (4, 2, 1, 0), (1, 1, 0), (4, 1), (1, 4, 1),(1,)]
result = []
for cort in ListWithCortege:
result.append(list(zip(cort, cort[1:] or (99999,))))
^^^^^^^^^^^^
for i in result:
print(i)
'''
[(2, 4), (4, 2), (2, 1), (1, 0)]
[(4, 2), (2, 1), (1, 0)]
[(1, 1), (1, 0)]
[(4, 1)]
[(1, 4), (4, 1)]
[(1, 99999)]