python把数字转换成字符串(字符串是什么)

数字转为字符串这个相对比较简单我们可以使用Python中的str函数直接转换例如将123转换为’123’print(str(123))或者使用格式化print(‘%s’%123)字符串转为数字这个相对比较复杂一点因为Python没有提供类似于str函数的int函数如果转换的是0-9的一个数,那么只采用字典就可实现defchar2num(s):…

大家好,又见面了,我是你们的朋友全栈君。

数字转为字符串

这个相对比较简单

我们可以使用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 + 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))
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

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/128800.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Git 取消跟踪已版本控制的文件(亲测可行)

    Git 取消跟踪已版本控制的文件(亲测可行)

    2021年10月20日
  • C语言编写简易图书管理系统[通俗易懂]

    C语言编写简易图书管理系统[通俗易懂]1.课程论文题目图书管理系统2.程序设计思路图书管理系统保持记录以进行删除,查询,借书,还书,退出,添加等等操作;使用菜单以实现功能选择模块。3.功能模块图4.数据结构设计1.编写主函数main()2.设计功能选项并标号,用switch选择,然后进入不同模块,进行不同选择,实现不同功能。3.为每个图书信息设置一个结构体,提供查询功能,还有删除功能以及借书还书功能。4.每运行一…

    2022年10月11日
  • 2021最强Python学习教程,从零基础入门到精通

    2021最强Python学习教程,从零基础入门到精通你准备好了吗???areyouready???前言01.python介绍02.项目开发完整流程(详解版)03.项目开发流程(精简版)第一篇计算机核心基础01计算机组成原理第二篇编程语言01编程语言介绍第三篇python入门01python介绍及IDE集成开发环境02python是解释型的强类型动态语言03python语法之变量、常量04python语法之注释05python垃圾回收机制GC06Python语法入门之基本数据类型07Python语法

    2022年9月19日
  • .net 零拷贝_模拟总线型以太网数据帧发送过程

    .net 零拷贝_模拟总线型以太网数据帧发送过程mmap/munmap接口是用户空间的最常用的一个系统调用接口,无论是在用户程序中分配内存、读写大文件,链接动态库文件,还是多进程间共享内存,都可以看到mmap/munmap的身影。

    2022年9月16日
  • Macbook pro/air 2013 late -2014 使用转接卡更换NVME SSD休眠不醒问题的解决办法

    Macbook pro/air 2013 late -2014 使用转接卡更换NVME SSD休眠不醒问题的解决办法、、1.手上512GMBP2013late差不多满了,因为穷,所以在淘宝上买了一个NVME转Macbookpcie,然后再买一个NVME2T的硬盘2.NVME因为需要最新的FirmwareRom支持,所以必须使用原装的硬盘(必须原装)安装Mac14以上,我安装了14.5.要不然识别不出来新安装的NVME硬盘3.买之前就知道是会有休眠问题的,问了卖家推荐了一些型号说不…

    2022年6月23日
  • Java结合OpenCV读取图片并遍历像素值[通俗易懂]

    Java结合OpenCV读取图片并遍历像素值[通俗易懂]1项目结构图1图像读取及遍历项目结构2图像读取及遍历codepackagecom.opencv;importjava.awt.Dimension;importjava.awt.image.BufferedImage;importjava.util.ArrayList;importjava.util.List;importjava.util.Vector;…

    2022年6月2日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号