2012-03-29 3 views

ответ

15
>>> [''.join(x) for x in s] 
['abcbcdcde', '1233r432f'] 
+0

+ 1its лучше, чем у меня. –

+0

Понимание списка лучше, чем моя карта + лямбда. +1 –

1
output = [] 
for grp in s: 
    output.append(''.join(grp)) 
0

Как об этом:

>>> map(lambda x: ''.join(x), s) 
['abcbcdcde', '1233r432f'] 
+0

Если вы собираетесь использовать 'map', используйте его так, как это делает jamylak, прямо на'. '.join'. – agf

7
>>> map(''.join, s) 
['abcbcdcde', '1233r432f'] 

Это должно сделать это

+0

Ницца ... Мне не нужна лямбда. –

+0

Хе-хе, в этом случае нет необходимости. – jamylak

0

не реальный ответ, просто хочу, чтобы проверить, что относительно сокращения и оператора. добавьте, я прочитал, что таким образом они оба будут действовать довольно быстро и эффективно, или я ошибаюсь?

s = [("abc","bcd","cde"),("123","3r4","32f")] 

from operator import add 

[reduce(add, x) for x in s] 
+0

Добавление строк в цикл принимает квадратичное время. –

+0

@ Игнасио - О, спасибо –

Смежные вопросы