簡體   English   中英

在列表中加入元組

[英]Joining tuples within a list

我想加入列表中的一組元組。

例如,

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

會成為

[123, 124, 125] 

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

我不知道該怎么做,搜索幾乎沒有用。

我該怎么辦?

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

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

如果結果必須為數字,則使用int()進行轉換

在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]

您可以嘗試以下方法:

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

請注意,如果希望它們作為字符串,則不需要將它們轉換為int

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM