簡體   English   中英

將列表中的元組轉換為字符串

[英]convert tuples in a list to string

我有一個列表為:

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

如何將元組一個接一個地組合為字符串:例如

(1,2) = "12"
(1,3) = "13"
>>> lst = [(1, 2), (1, 3), (1, 4), (1, 5), (2, 3), (2, 4), (2, 5), (3, 4), (3, 5), (4, 5)]
>>> [str(x) + str(y) for x, y in lst]
['12', '13', '14', '15', '23', '24', '25', '34', '35', '45']

您可以嘗試以下方法:

list = [(1, 2), (1, 3), (1, 4), (1, 5), (2, 3), (2, 4), (2, 5), (3, 4), (3, 5), (4, 5)]
new_list = ["".join(map(str, item)) for item in list]

這將從舊列表中創建了一個新列表,其中每個項目都被連接在一起(在字符串轉換之后)。

這適用於具有任意多個值的元組。

示例: https//repl.it/repls/JubilantVacantWoodstorks

temp_list = [(1,2), (1,3), (1,4), (1,5), (2,3), (2,4), (2,5), (3,4), (3,5), (4,5)]
new_list = map(lambda obj: str(obj[0])+str(obj[1]), temp_list)

另一種效率較低的方法是遍歷整個列表,然后獲取每個元組的第一個和第二個元素,將它們連接起來,然后將它們返回到列表中。

res_list = map(lambda (x,y): str(x) + str(y), list)

map是一個高階函數,它接受一個函數和一個列表,並將一個函數應用於列表的每個元素。 在上述情況下,str(x)+ str(y)是一個'+'字符串連接運算符,其作用是兩個字符串操作數,並返回最終字符串。 因此,結果列表將是字符串列表。 這是預期的輸出。

結果:

['12', '13', '14', '15', '23', '24', '25', '34', '35', '45']

暫無
暫無

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

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