解决办法有三种:
1、用 join() 函数,但我发现使用join函数要求列表中的元素都是字符串,所以需要将列表中的元素都转换为字符串。
a = [1,2,3,4,5]
a = [str(i) for i in a]
b = int(''.join(a))
print(b)
2、用 sum() 函数求和,那就需要对每个元素的十分位和百分位或者千分位进行转换
a = [1,2,3,4,5]
a = [i *10**index for index,i in enumerate(a[::-1])]
b = sum(a)
print(b)
3、直接将列表转换为字符串,然后去除 [],,另外还要去除空格
a = [1,2,3,4,5]
b = str(a).replace("[","").replace("]","").replace(",","").replace(" ","")
print(int(b))
扩展资料
join() 方法用于把数组中的所有元素放入一个字符串。
元素是通过指定的分隔符进行分隔的。
返回值:返回一个字符串。该字符串是通过把 arrayObject 的每个元素转换为字符串,然后把这些字符串连接起来,在两个元素之间插入 separator 字符串而生成的。
例子:
在本例中,将创建一个数组,然后把它的所有元素放入一个字符串:
输出:
George,John,Thomas
import functools
a=[1, 2, 3, 5, 4]
#方法1用数学方法计算出结果
print(functools.reduce(lambda x,y:x*10+y, a))
#方法2用字符串合并出结果
print(int(functools.reduce(lambda x,y:str(x)+str(y), a)))
12354
12354