Python之str型转成int型

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python之str型转成int型相关的知识,希望对你有一定的参考价值。

str转int:

1 def fn(x,y):
2     return x*10+y
3 
4 def char2num(s):
5     return {0:0, 1:1, 2:2, 3:3, 4:4, 5:5, 6:6, 7:7, 8:8, 9:9}[s]  # 特别注意这里,后面还有个 [s]
6 
7 print(type(reduce(fn, map(char2num, 1738785))))
8 print(reduce(fn, map(char2num, 1738785)))

输出如下:

1 <type int>
2 1738785

整理成一个 str2int 函数就是如下喽:

 1 from functools import reduce
 2 
 3 def str2int(s):
 4     def fn(x,y):
 5         return x*10+y
 6     def char2num(s):
 7         return {0:0, 1:1, 2:2, 3:3, 4:4, 5:5, 6:6, 7:7, 8:8, 9:9}[s]
 8     return reduce(fn,map(char2num,s))
 9 
10 print(str2int(365779))
11 print(type(str2int(365779)))

 

用匿名函数lambda再简化一下就成了下面这个样子:

1 def str2int(s):
2     return reduce(lambda x,y:x*10+y, map(lambda s:{0:0, 1:1, 2:2, 3:3, 4:4, 5:5, 6:6, 7:7, 8:8, 9:9}[s], s))

WOC,就一行代码哦,够简单!

 

以上是关于Python之str型转成int型的主要内容,如果未能解决你的问题,请参考以下文章

MFC中如何吧CString类型转换为double或int型??

MFC中如何吧CString类型转换为double或int型?

java使用格式String型转成Date型

python数据类型之间的转换

C语言中关于字符串转整型?

Oracle怎样把varchar2型转成number型