Python中数字和字符串之间的转换
数字转为字符串
这个相对比较简单
我们可以使用Python中的str函数直接转换
例如将123转换为'123'
print(str(123))
或者使用格式化
print('%s' %123)
字符串转为数字
这个相对比较复杂一点因为Python没有提供类似于str函数的int函数
如果转换的是0-9的一个数,那么只采用字典就可实现
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]
如果是一个两位数以上的数那就得采用map/reduce函数
from functools import reduce
def str2int(s):def fn(x, y):return x * 10 + ydef 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))
print(str2int('23'))
记住使用map可以不用import,但是使用reduce就必须要加上from functools import reduce
上面函数可以通过引入lambda化简
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))print(str2int('1234'))
关键字lambda 表示匿名函数,冒号前面的x y表示函数参数,冒号后面是函数表达式。匿名函数有个限制,就是只能有一个表达式,不用写return ,返回值就是该表达式的结果。好处是匿名函数没有名字,不必担心函数名冲突。此外,匿名函数也是一个函数对象,也可以把匿名函数赋值给一个变量,再利用变量来调用该函数
例如
>>> f = lambda x,y:x*y>>> f(2,5)10
Python中数字和字符串之间的转换相关推荐
- C++中数字与字符串之间的转换 scanf string总结(复习必读)
1 string的scanf读入操作 C++里面控制台输入直接使用cin操作就可以了:或者getline(istringstream,string); 字符和数字加减就是字符的ASCII码和数字直接加 ...
- C++中数字与字符串之间的转换
1.字符串数字之间的转换 (1)string --> char * string str("OK"); char * p = str.c_str(); (2)ch ...
- python中时间戳、字符串之间转换详解
[转载]python中时间戳.字符串之间转换详解 (2013-04-30 17:36:07) 转载▼ 标签: 转载 原文地址:python中时间戳.字符串之间转换详解作者:doris0920 1)秒数 ...
- java中数组和字符串之间的转换
java中对于数组和字符串之间的转换确实是一小的迷点. 字符串转为数组可以使用: char[] toCharArray() 将此字符串转换为一个新的字符数组. 数组转字符串: 可以直接使用new的方式 ...
- Python中各种进制之间的转换
Python整数能够以十六进制,八进制和二进制来编写,作为一般以10位基数的十进制计数法的补充. 一: 上面三种进制的常用表示 >>> 0o1, 0o20, 0o377 # 八进制常 ...
- 用python获取星期字符串,python 时间:秒和字符串之间的转换..
1)秒数 ==>字符串 1234567 from time import * def secs2str(secs): return strftime("%Y-%m-%d %H:%M:% ...
- C++中数字和字符串类型的转换
// 编译环境: VS2013,C++11#include "stdafx.h" #include <iostream> #include <string> ...
- SQL中十六进制和字符串之间的转换
Java中的转换非常简单便捷,但有时候需要在后台实现转换,这里我包装成函数.Mark一下 –字符串转十六进制 CREATE FUNCTION dbo.StrToHex(@str varchar(100 ...
- java中日期与字符串之间的转换
import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public cl ...
最新文章
- matlab 小波变换_matlab小波工具箱实例(二):时频分析和连续小波变换
- SilverLight学习笔记--WCF服务
- Android Animation实现元素在屏幕上按照指定轨迹运动,以及出现NullPointerException的解决方案
- TP5:异常处理封装——3
- Intel开发工具之VTune
- CCF201612-1 中间数(解法三)(100分)(废除!!!)
- abd.exe 需要下java吗_abd.exe
- Java入门到精通——工具篇之Maven概述
- 临时邮箱获取验证信息
- AForge.NET 入门
- matlab求一维热传导方程数值解代码,一维热传导方程数值解法及matlab实现
- web前端基础——Less语法
- KIS专业版-即时库存查询自定义开发
- win10系统登录服务器密码存储位置,win10远程服务器登录密码
- EXCEL查找与引用函数
- grafana绘图配置查询变量+多级变量联动
- 金手指(通达信公式 主图 源码 测试图)箱底 箱顶 短趋势线 中趋势线 压力位 支撑位
- Mac清理磁盘管理内存的软件推荐
- iOS7(Xcode5)中隐藏状态栏的方法
- 计算机教室是使用计划书,教师个人计算机学习计划书_老师计算机学习计划范文...