所以我试图创建一个函数,它结合了元组的元素。
例如:
[(1,2),("Hi","Bye")]
['12', 'HiBye']
功能实现后会变成。
如何在 Python 中实现这一点?
所以我试图创建一个函数,它结合了元组的元素。
例如:
[(1,2),("Hi","Bye")]
['12', 'HiBye']
功能实现后会变成。
如何在 Python 中实现这一点?
对于配对,您可以执行以下操作:
>>> list(map(lambda pair:"%s%s"%pair, [(1,2),("Hi","Bye")]))
['12', 'HiBye']
或者如果您想处理任意元组,而不仅仅是对:
>>> list(map(lambda l:''.join(map(str, l)), [(1,2),("Hi","Bye")]))
['12', 'HiBye']
>>> list(map(lambda l:''.join(map(str, l)), [(1,2,3),("Hi","Bye","Ciao")]))
['123', 'HiByeCiao']
尝试结合map()
和reduce()
:
import operator
lst = [("1", "2"), ("c", "d")]
map(lambda x: reduce(operator.concat, x, ""), lst)
匹配项必须是可连接的,即您需要先将它们转换为例如字符串。或将其包含在代码中:
import operator
lst = [(1, 2, 3, 52), ("c", "d")]
map(lambda x: reduce(operator.concat, map(str, x), ""), lst)
使用string.join()
也是可能的(可能更pythonic):
lst = [(1, 2, 3, 52), ("c", "d")]
map(lambda x: ''.join(map(str, x)), lst)
尝试这个:
L = [(1, 2), ('Hi', 'Bye')]
L = list(map(lambda t : str(t[0]) + str(t[1]), L))
使用列表理解:
myList = [(1,2),("Hi","Bye")]
answer = [str(t[0]) + str(t[1]) for t in myList]