我有一个列表:
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"
答案 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]
这将从旧列表中创建一个新列表,其中每个项目连接在一起(在字符串转换后)。
这适用于具有任意数量值的元组。
答案 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']