数字转为字符串

这个相对比较简单

我们可以使用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中数字和字符串之间的转换相关推荐

  1. C++中数字与字符串之间的转换 scanf string总结(复习必读)

    1 string的scanf读入操作 C++里面控制台输入直接使用cin操作就可以了:或者getline(istringstream,string); 字符和数字加减就是字符的ASCII码和数字直接加 ...

  2. C++中数字与字符串之间的转换

    1.字符串数字之间的转换 (1)string --> char *    string str("OK");    char * p = str.c_str(); (2)ch ...

  3. python中时间戳、字符串之间转换详解

    [转载]python中时间戳.字符串之间转换详解 (2013-04-30 17:36:07) 转载▼ 标签: 转载 原文地址:python中时间戳.字符串之间转换详解作者:doris0920 1)秒数 ...

  4. java中数组和字符串之间的转换

    java中对于数组和字符串之间的转换确实是一小的迷点. 字符串转为数组可以使用: char[] toCharArray() 将此字符串转换为一个新的字符数组. 数组转字符串: 可以直接使用new的方式 ...

  5. Python中各种进制之间的转换

    Python整数能够以十六进制,八进制和二进制来编写,作为一般以10位基数的十进制计数法的补充. 一: 上面三种进制的常用表示 >>> 0o1, 0o20, 0o377 # 八进制常 ...

  6. 用python获取星期字符串,python 时间:秒和字符串之间的转换..

    1)秒数 ==>字符串 1234567 from time import * def secs2str(secs): return strftime("%Y-%m-%d %H:%M:% ...

  7. C++中数字和字符串类型的转换

    // 编译环境: VS2013,C++11#include "stdafx.h" #include <iostream> #include <string> ...

  8. SQL中十六进制和字符串之间的转换

    Java中的转换非常简单便捷,但有时候需要在后台实现转换,这里我包装成函数.Mark一下 –字符串转十六进制 CREATE FUNCTION dbo.StrToHex(@str varchar(100 ...

  9. java中日期与字符串之间的转换

    import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public cl ...

最新文章

  1. matlab 小波变换_matlab小波工具箱实例(二):时频分析和连续小波变换
  2. SilverLight学习笔记--WCF服务
  3. Android Animation实现元素在屏幕上按照指定轨迹运动,以及出现NullPointerException的解决方案
  4. TP5:异常处理封装——3
  5. Intel开发工具之VTune
  6. CCF201612-1 中间数(解法三)(100分)(废除!!!)
  7. abd.exe 需要下java吗_abd.exe
  8. Java入门到精通——工具篇之Maven概述
  9. 临时邮箱获取验证信息
  10. AForge.NET 入门
  11. matlab求一维热传导方程数值解代码,一维热传导方程数值解法及matlab实现
  12. web前端基础——Less语法
  13. KIS专业版-即时库存查询自定义开发
  14. win10系统登录服务器密码存储位置,win10远程服务器登录密码
  15. EXCEL查找与引用函数
  16. grafana绘图配置查询变量+多级变量联动
  17. 金手指(通达信公式 主图 源码 测试图)箱底 箱顶 短趋势线 中趋势线 压力位 支撑位
  18. Mac清理磁盘管理内存的软件推荐
  19. iOS7(Xcode5)中隐藏状态栏的方法
  20. 计算机教室是使用计划书,教师个人计算机学习计划书_老师计算机学习计划范文...

热门文章

  1. 前端和python哪个工作好_Python工程师比前端工程师更好招?
  2. 手机恢复出厂设置数据怎么恢复
  3. CSDN总裁蒋涛:从软件技术高手到百万富翁的三条捷径
  4. FE_HTML标签学习
  5. 时间——时间到底是什么?
  6. 做产品的正确姿势:理性与感性
  7. 数据与广告系列十五:商业兴趣标签建模XGboost调优实战
  8. 史上对当今中国医院最强的讽刺
  9. SAP HANA Studio是个啥
  10. 2018.07.12【2018提高组】模拟B组 【NOIP2015模拟10.27】魔道研究