python字符串与数字的转化_字符串转数字c语言

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

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

数字转为字符串

这个相对比较简单

我们可以使用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/182769.html原文链接:https://javaforall.net

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


相关推荐

  • golang 激活码 2021[在线序列号][通俗易懂]

    golang 激活码 2021[在线序列号],https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月18日
    82
  • CompoundButton 选中/未选中状态的按钮「建议收藏」

    CompoundButton 选中/未选中状态的按钮「建议收藏」正文  一、结构    publicabstractclassCompoundButtonextendsButtonimplementsCheckable     java.lang.Object      android.view.View        android.widget.TextView          android.widge

    2022年5月6日
    75
  • c# mysql executenonquery_C#与数据库访问技术之ExecuteNonQuery方法

    c# mysql executenonquery_C#与数据库访问技术之ExecuteNonQuery方法ExecuteNonQuery方法主要用来更新数据。通常使用它来执行Update、Insert和Delete语句。该方法返回值意义如下:对于Update、Insert和Delete语句,返回值为该命令所影响的行数。对于所有其他类型的语句,返回值为-1。Command对象通过ExecuteNonQuery方法更新数据库的过程非常简单,需要进行的步骤如下:(1)创建数据库连接。(2)创建Command…

    2025年10月29日
    2
  • 5分钟搞定!java免费源码网站

    5分钟搞定!java免费源码网站一、前言最近刚读完一本书:《Netty、Zookeeper、Redis并发实战》,个人觉得Netty部分是写得很不错的,读完之后又对Netty进行了一波很好的复习(之前用springboot+netty+zookeeper模仿dubbo做rpc框架,那时候是刚学netty后自己造的小轮子)。虽然对于Netty的使用已经比较熟悉了,而且还知道它的底层是基于JavaNIO做进一步的封装,使得并发性能和开发效率得到大大的提升。但是,对于同步阻塞、同步非阻塞、异步这

    2022年7月8日
    30
  • 达梦数据库分区表的使用

    达梦数据库分区表的使用前言在大型的企业应用或企业级的数据库应用中,要处理的数据量通常达到TB级,对于这样的大型表执行全表扫描或者DML操作时,效率是非常低的。为了提高数据库在大数据量读写操作和查询时的效率,达梦数据库提供了对表和索引进行分区的技术,把表和索引等数据库对象中的数据分割成小的单位,分别存放在一个个单独的段中,用户对表的访问转化为对较小段的访问,以改善大型应用系统的性能。达梦数据库分区表主要包括范围…

    2022年5月26日
    64
  • 关于权限表的基本设计[通俗易懂]

    关于权限表的基本设计[通俗易懂]对于一个系统,必须严格的控制权限,权限表的设计是基本的。基本的权限表有五个,即用户表,角色表,权限表,用户角色表,角色权限表。下面介绍下基本字段用户表  useruser_iduser_namepassword角色表  role role_idrole_name权限表 permissionpermission_idpermission用户角色表 

    2022年9月27日
    1

发表回复

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

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