Как преобразовать список кортежей в числа?
К примеру, дан список с кортежами s = [(1, 2, 1), (1, 1, 2), (2, 1, 1), (1, 2, 1)]. Нужно, чтобы каждый кортеж был преобразован в отдельное число: 121, 112, 211, 121 и помещён в отдельный список
Ответы (3 шт):
Автор решения: Play Bit
→ Ссылка
Самый простой способ:
s = [(1,2,3), (2,3,1), (3,1,2)]
res = []
for i in s:
out_str = ''
for j in range(len(i)):
out_str += str(i[j])
res.append(int(out_str))
print(res)
Автор решения: strawdog
→ Ссылка
еще более самый простой способ
res = [int(''.join(map(str,x))) for x in s]
[123, 231, 312]
Автор решения: MarianD
→ Ссылка
[100*x + 10*y + z for (x, y, z) in s]
Объяснение:
Из каждой кортежи-тройки выберем отдельные цифры x, y и z, представляющие собой сотни, десятки и единицы, и скомбинируем их в одно: 100x + 10y + z.