1

リスト内にあるタプルのセットに参加したいと思います。

例えば、

[(1, 2, 3), (1, 2, 4), (1, 2, 5)]

になります

[123, 124, 125] 

(or ['123', '124', '125'] if it must become a string)

これを行う方法がわかりません。検索してもほとんど役に立ちません。

どうすればこれを行うことができますか?

4

3 に答える 3

3
>>> bs = [(1, 2, 3), (1, 2, 4), (1, 2, 5)]

>>> ["".join(map(str, b)) for b in bs]
['123', '124', '125']

int()結果が数値でなければならない場合に変換に使用

于 2012-07-07T08:47:35.137 に答える
3

このラッパーをreduceで使用すると、ゼロ以外の長さのタプルが処理されます。

>>> combinedigits = lambda seq : reduce(lambda a,b:a*10+b, seq)
>>> combinedigits((1,2,3))
123

mapを使用して、各タプルをcombinedigits関数に渡します。

>>> data = [(1, 2, 3), (1, 2, 4), (1, 2, 5), (1,2,3,4,5,6,7,9)]
>>> map(combinedigits, data)
[123, 124, 125, 12345679]
于 2012-07-07T08:56:43.790 に答える
2

あなたはこれを試すことができます:

>>> [int(''.join(str(v) for v in val)) for val in [(1, 2, 3), (1, 2, 4), (1, 2, 5)]]
[123, 124, 125]
>>> 

それらを文字列として使用する場合は、に変換する必要がないことに注意してくださいint

于 2012-07-07T08:48:55.750 に答える