8toni8
@8toni8

Как преобразовать кортеж с несколькими элементами в одну строку?

Допустим есть кортеж и в нем записано два элемента:
tuple= ((a1, a2, a3), (b1, b2, b3))

Как преобразовать все элементы кортежа в одну строку, к примеру я знаю один способ, это через for:
for numFor in range(0, len(tuple)):
        list = list + str(tuple[numFor])


Подскажите пожалуйста известен ли вам более простой способ?
  • Вопрос задан
  • 5498 просмотров
Решения вопроса 1
tema_sun
@tema_sun
Ну вот так например:
flatten = [str(item) for sub in tuple for item in sub]


Или можно itertools использовать:
import itertools
flatten = [str(item) for item in itertools.chain(*tuple)]


А потом сделать join:
"".join(flatten)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
str.join() склеивает через указанную строку элементы списка;
map() применяет указанную функцию к каждому элементу списка.

t = (('a1', 'a2', 'a3'), ('b1', 'b2', 'b3'))

';'.join(map(','.join,t)) # 'a1,a2,a3;b1,b2,b3'


Вместо ; и , можно указать другие разделители, в т.ч. пустую строку.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы