0

そこで、タプルの要素を組み合わせる関数を作成しようとしています。

たとえば、次のようになります。

[(1,2),("Hi","Bye")]['12', 'HiBye']機能実装後となります。

Pythonでこれを達成するにはどうすればよいですか?

4

4 に答える 4

1

ペアの場合、次のことができます。

>>> list(map(lambda pair:"%s%s"%pair, [(1,2),("Hi","Bye")]))
['12', 'HiBye']

または、ペアだけでなく、任意のタプルを処理する場合:

>>> list(map(lambda l:''.join(map(str, l)), [(1,2),("Hi","Bye")]))
['12', 'HiBye']
>>> list(map(lambda l:''.join(map(str, l)), [(1,2,3),("Hi","Bye","Ciao")]))
['123', 'HiByeCiao']
于 2013-11-08T22:35:12.050 に答える
0

これを試して:

L = [(1, 2), ('Hi', 'Bye')]
L = list(map(lambda t : str(t[0]) + str(t[1]), L))
于 2013-11-08T22:32:42.953 に答える
0

とを組み合わせてみてmap()くださいreduce():

import operator

lst = [("1", "2"), ("c", "d")]
map(lambda x: reduce(operator.concat, x, ""), lst)

一致する項目は連結可能である必要があります。つまり、最初に文字列などに変換する必要があります。または、コードに含めます:

import operator

lst = [(1, 2, 3, 52), ("c", "d")]
map(lambda x: reduce(operator.concat, map(str, x), ""), lst)

を使用するstring.join()ことも可能です (そしておそらくもっと Pythonic です):

lst = [(1, 2, 3, 52), ("c", "d")]
map(lambda x: ''.join(map(str, x)), lst)
于 2013-11-08T22:35:34.127 に答える
0

リスト内包表記の使用:

myList = [(1,2),("Hi","Bye")]

answer = [str(t[0]) + str(t[1]) for t in myList]
于 2013-11-08T22:39:03.300 に答える