我想加入列表中的一组元组。
例如,
[(1, 2, 3), (1, 2, 4), (1, 2, 5)]
会成为
[123, 124, 125]
(or ['123', '124', '125'] if it must become a string)
我不知道如何做到这一点,并且搜索几乎没有用处。
我该怎么做?
我想加入列表中的一组元组。
例如,
[(1, 2, 3), (1, 2, 4), (1, 2, 5)]
会成为
[123, 124, 125]
(or ['123', '124', '125'] if it must become a string)
我不知道如何做到这一点,并且搜索几乎没有用处。
我该怎么做?
在 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]
>>> bs = [(1, 2, 3), (1, 2, 4), (1, 2, 5)]
>>> ["".join(map(str, b)) for b in bs]
['123', '124', '125']
如果结果必须是数字,则用于int()
转换
你可以试试这个:
>>> [int(''.join(str(v) for v in val)) for val in [(1, 2, 3), (1, 2, 4), (1, 2, 5)]]
[123, 124, 125]
>>>
请注意,如果您希望它们作为字符串,则无需将它们转换为int
.