Python конвертировать кортеж в массив

Как я могу преобразовать в 3-мерный кортеж в массив

a = []
a.append((1,2,4))
a.append((2,3,4))

в массиве вроде:

b = [1,2,4,2,3,4]

3 ответа

Решение

Используя понимание списка:

>>> a = []
>>> a.append((1,2,4))
>>> a.append((2,3,4))
>>> [x for xs in a for x in xs]
[1, 2, 4, 2, 3, 4]

С помощью itertools.chain.from_iterable:

>>> import itertools
>>> list(itertools.chain.from_iterable(a))
[1, 2, 4, 2, 3, 4]

Простой способ, используйте метод extends.

x = []
for item in a:
    x.extend(item)

Если вы имеете в виду массив, как в массиве numpy, вы также можете сделать:

a = []
a.append((1,2,4))
a.append((2,3,4))
a = np.array(a)
a.flatten()
Другие вопросы по тегам