将列表中的元组转换为字符串

时间:2018-01-27 07:15:47

标签: python data-structures

我有一个列表:

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"

5 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:1)

你可以试试这个:

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

答案 2 :(得分:-1)

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)

答案 3 :(得分:-1)

另一种效率低下的方法是循环遍历整个列表,然后抓取每个元组的第一个和第二个元素,连接它们,然后将它们返回到列表中。

答案 4 :(得分:-1)

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

map是高阶函数,它接受函数和列表并将函数应用于列表的每个元素。在上面的情况下,str(x)+ str(y)a' +'字符串连接运算符工作两个字符串操作数并返回最后一个字符串。因此结果列表将是字符串列表。这是预期的产出。

结果:

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