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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • scp和rsync命令[通俗易懂]

    scp和rsync命令[通俗易懂]SCP命令(1)scp定义scp可以实现服务器与服务器之间的数据拷贝。(fromserver1toserver2)(2)基本语法scp-r$pdir/$fname$user@$host:$pdir/$fname命令递归要拷贝的文件路径/名称目的地用户@主机:目的地路径/名称(3)基本示例scp-rjdk1.8.0_291/root@hadoop103:opt/modulescp-rroot@hadoop102:/opt/module/*root@h

    2022年8月30日
    1
  • Bulk Insert命令具体

    Bulk Insert命令具体

    2021年12月7日
    36
  • 域名与优化之间的联系[通俗易懂]

    域名与优化之间的联系[通俗易懂]什么域名有利于网站优化?域名与网站优化有什么的关系?域名与网站优化有关系吗?很多人不知道域名的好坏其实与网站优化也是有着联系的,什么样的域名对于网站优化有好处呢?今天这篇文章外链代发SEO就来给各位介绍一下关于域名与网站优化的关系。可能有的新站长对于域名与网站优化之间的关系不是很清楚,其实域名的挑选对网站企业的发展有着重要的影响和含义,一个好的域名不只使网民简单记,并且对企业的品牌宣扬有着非常重…

    2022年5月17日
    56
  • linux idea 激活码【2022.01最新】

    (linux idea 激活码)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~0HKL…

    2022年3月31日
    392
  • sql if语句实例[通俗易懂]

    sql if语句实例[通俗易懂]if函数语法:if(booleantestCondition,value1,value2)返回值:当判断条件testCondition为TRUE时,返回value1;否则返回value2示例:原始数据转化:SELECTapp_list,if(account_id>20,1,0)FROMtemp.bdl_op_crawler_loan0902…

    2022年7月17日
    12
  • linux安装jdk环境(多种方式)

    linux安装jdk环境(多种方式)linux系统通用安装通过tar.gz压缩包安装此方法适用于绝大部分的linux系统1、先下载tar.gz的压缩包,这里使用官网下载。进入:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html勾选接受许可协议后选择对应的压缩包,下载完成后上传的linux…

    2025年7月9日
    0

发表回复

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

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