我需要每两个元素之和(如int)。
我有以下代码:
array = '1 3 5 7 9'
lst = map(lambda x: x+x, array.strip().split(' '))
print(list(lst))输出:
'11','33','55','77','99‘
有没有一种方法可以将int转换添加到lambda/map函数中,最终将我的lambada函数作为两个元素的加法?
我知道我可以做一个明确的函数来完成这个任务,但是我想知道是否有一个lambda的方法。谢谢
发布于 2019-12-02 10:52:09
只需在函数中转换为int:
array = '1 3 5 7 9'
lst = map(lambda x: int(x)+int(x), array.strip().split(' '))
print(list(lst))发布于 2019-12-02 10:51:54
默认情况下,将值作为字符串,因为原始值是字符串。若要应用任何数字操作,只需使用int(x)强制转换为整数值即可。
array = '1 3 5 7 9'
lst = map(lambda x: int(x) + int(x), array.strip().split(' '))
print(list(lst))发布于 2019-12-02 10:55:11
使用input()或raw_input()读取输入号,询问列表的长度。初始化空列表lst = []。使用for循环读取每个数字。在for循环中,将每个数字追加到列表中。现在,我们使用预定义的函数sum()来查找列表中所有元素的和。打印结果。
https://stackoverflow.com/questions/59137361
复制相似问题