2016-01-26 10 views

答えて

33

使用str.join()(Pythonの2.xと3.xの両方で動作します):

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

reduceを使用する別のオプションです:Pythonの2で

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

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

Python 3(ユージンの提案に感謝):

あなたがに str.joinをマップすることができ
>>> from functools import reduce 
>>> [reduce(lambda x, y: x + y , i) for i in a] 
['AVC', 'ADD'] 
+3

しかし、非常に非効率なオプションです。 – chepner

+3

そしてPython3では 'from functools import reduce'が必要です。 –

+0

@eugeney、ただ編集しました、ありがとうございます。 – Quinn

22

tuplea中:

のPython 2:

は、Python 3では、 mapは、あなたが listとしてそれを具現化する必要があると思いますので、反復可能なオブジェクトである
>>> map(''.join, a) 
['AVC', 'ADD'] 

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

マシン上のマップオブジェクトを返します。 – vaultah

+0

@vaultahさんがあなたのコメントとして編集中でした。 –

関連する問題