Python 列表转数字
Python 列表转数字第一种方法:
def list2num(li: list):
return int(''.join(map(str, li)))
第二种方法:
from functools import reduce
def list2num(li: list):
return reduce(lambda x, y: x * 10 + y, li)
或
def list2num(li: list):
res = 0
for i in li:
res *= 10
res += i
return res
第三种方法:
from re import sub
def list2num(li: list):
return int(sub('[^0-9]', '', str(li))) # 替换非数字字符
如果还有其他方法,欢迎在评论区补充!{:10_311:} 赞赞赞{:10_288:} 本帖最后由 _2_ 于 2020-7-12 20:45 编辑
Emmmmm
我这里的实现不知可不可行:
def list2num(li: list): return int("".join())
简单测试:
list2num( + ["eee"]) _2_ 发表于 2020-7-12 20:34
Emmmmm
我这里的实现不知可不可行:
AttributeError: 'str' object has no attribute 'digit' zltzlt 发表于 2020-7-12 20:35
AttributeError: 'str' object has no attribute 'digit'
改了改了{:10_269:}
哎,老是打错 _2_ 发表于 2020-7-12 20:37
改了改了
哎,老是打错
可以了,其实和我第一种方法原理一样 zltzlt 发表于 2020-7-12 20:39
可以了,其实和我第一种方法原理一样
列表推导式越用越舒服{:10_256:}
回不去了 QAQ zltzlt 发表于 2020-7-12 20:39
可以了,其实和我第一种方法原理一样
只不过你的第一个没用非 int 字符串检查,
如果一个 not str.isdigit() 的字符串在列表 li 里就会报错 请问下def list2num(li: list) 这个:是啥意思? 定义函数(li:list)和(li)有什么区别? Nate_2020 发表于 2020-11-28 09:11
定义函数(li:list)和(li)有什么区别?
参数注解(?),用于表示这个参数的类型
和注释一样
页:
[1]