Python学习笔记(6) -- 字符转数字、字符串转整型(char2num、str2int)
2017-06-05 20:30
489 查看
原文链接:
http://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/0014317852443934a86aa5bb5ea47fbbd5f35282b331335000
但是如果要把序列
这个例子本身没多大用处,但是,如果考虑到字符串
整理成一个
还可以用lambda函数进一步简化成:
http://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/0014317852443934a86aa5bb5ea47fbbd5f35282b331335000
但是如果要把序列
[1, 3, 5, 7, 9]变换成整数
13579,
reduce就可以派上用场:
>>> from functools import reduce >>> def fn(x, y): ... return x * 10 + y ... >>> reduce(fn, [1, 3, 5, 7, 9]) 13579
这个例子本身没多大用处,但是,如果考虑到字符串
str也是一个序列,对上面的例子稍加改动,配合
map(),我们就可以写出把
str转换为
int的函数:
>>> from functools import reduce >>> def fn(x, y): ... return x * 10 + y ... >>> def char2num(s): ... return {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9}[s] ... >>> reduce(fn, map(char2num, '13579')) 13579
整理成一个
str2int的函数就是:
from functools import reduce def str2int(s): def fn(x, y): return x * 10 + y def char2num(s): return {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9}[s] return reduce(fn, map(char2num, s))
还可以用lambda函数进一步简化成:
from functools import reduce def char2num(s): return {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9}[s] def str2int(s): return reduce(lambda x, y: x * 10 + y, map(char2num, s))
相关文章推荐
- python3.4学习笔记(二十二) python 在字符串里面插入指定分割符,将list中的字符转为数字
- Python tutorial: python中文快速学习笔记 - 数字与字符串
- Python学习笔记(六)数字与字符串…
- Python学习笔记五:数字和字符串
- python cookbook 学习笔记 -- 1.7 将字符串逐字符或逐词反转
- python cookbook 学习笔记 -- 1.8 检查字符串中是否包含某字符集合中的字符
- Python学习笔记-数字&字符串
- Python学习笔记——注释,缩进,字符串与与整型的转换
- Python学习笔记-- 字符串和数字的连接
- C#学习之路,学习笔记 2.2 字符、字符串、数字的初始化与读取
- Python学习笔记五:数字和字符串
- python学习笔记(二)字符串表示和运算
- c#--编写一个名称为MyClass一个类,在该类中编写一个方法,名称为CountChar,返回值为整型,参数两个,第一个参数可以是字符串、整数、单精度、双精度,第二个参数为字符,方法功能返回第二个参
- 黑马程序员之C#学习笔记:求一个字符串中各个字符出现的次数
- python学习笔记1-核心类型-数字
- python学习手册笔记--第7章--字符串
- Python学习笔记整理(二)python的数字
- python学习笔记——字符串
- Python学习笔记整理(四)Python中的字符串..
- python学习手册笔记--第5章--数字--第6章--动态类型