2016-01-26 14 views

Odpowiedz

33

Zastosowanie str.join() w listowego (działa zarówno w Pythonie 2.x oraz 3.x):

>>> a = [('A', 'V', 'C'), ('A', 'D', 'D')] 
>>> [''.join(x) for x in a] 
['AVC', 'ADD'] 
6

Korzystanie reduce ma innej opcji:

>>> a = [('A','V','C'), ('A','D','D')] 

W Pythonie 2:

>>> [reduce(lambda x, y: x + y , i) for i in a] 
['AVC', 'ADD'] 

W języku Python 3 (dzięki za sugestię eugenu):

>>> from functools import reduce 
>>> [reduce(lambda x, y: x + y , i) for i in a] 
['AVC', 'ADD'] 
+3

Jednak bardzo nieefektywna opcja. – chepner

+3

W Pythonie 3 potrzebujesz 'od fun importu reduce'. –

+0

@eugeney, właśnie edytowane, dzięki. – Quinn

22

Można map str.join siebie tuple w a:

Python 2:

>>> map(''.join, a) 
['AVC', 'ADD'] 

W Pythonie 3, map jest iterable obiektu tak trzeba by urzeczywistnić go jako list :

>>> list(map(''.join, a)) 
['AVC', 'ADD'] 
+0

Powoduje zwrócenie obiektu mapy na moim komputerze. – vaultah

+0

@vaultah edytował tak, jak skomentowałeś. –

Powiązane problemy