python把一个数字列表转化为一个数字

比如如何把一个list [1, 2, 3, 5, 4] 转化为一个整数 12354
2024-11-26 09:34:54
推荐回答(2个)
回答1:

解决办法有三种:

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

回答2:

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