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()