首页 > 编程语言 >Python中实现对数字字符串按位求和——sum()&map()

Python中实现对数字字符串按位求和——sum()&map()

时间:2024-12-21 17:56:10浏览次数:5  
标签:map Python sum number int result str

要快速给数字字符串的每一位数求和,可以使用 Python 的内置函数来实现。以下是几种常见的方法:

1. 使用 sum()map()

number_str = '12345'
result = sum(map(int, number_str))
print(result)  # 输出: 15

解释

  • map(int, number_str):将字符串中的每一位字符转换为整数。map 函数会返回一个生成器,其中每个元素是字符 '1', '2', '3', '4', '5' 转换为整数后的结果,即 [1, 2, 3, 4, 5]
  • sum():对这个生成器中的每个元素求和,得到 1 + 2 + 3 + 4 + 5 = 15

2. 使用列表推导式

number_str = '12345'
result = sum([int(digit) for digit in number_str])
print(result)  # 输出: 15

解释

  • [int(digit) for digit in number_str]:这是一个列表推导式,将每个字符转换为整数并组成一个列表 [1, 2, 3, 4, 5]
  • sum():对该列表中的数字求和,结果为 15

3. 使用 reduce()(适合更复杂的场景)

from functools import reduce

number_str = '12345'
result = reduce(lambda x, y: x + y, map(int, number_str))
print(result)  # 输出: 15

解释

  • reduce(lambda x, y: x + y, map(int, number_str))reduce 会遍历 map(int, number_str) 生成的列表,逐步将元素累加。相当于:((1 + 2) + 3) + 4) + 5

4. 使用 for 循环(传统方式)

number_str = '12345'
result = 0
for digit in number_str:
    result += int(digit)
print(result)  # 输出: 15

解释

  • 使用 for 循环遍历字符串的每个字符,并将其转换为整数后加到 result 中。

总结

  • 如果是简单的求和,使用 sum(map(int, number_str)) 是最简洁和高效的方法。
  • 如果需要自定义逻辑或进行更复杂的操作,使用 reduce()for 循环可以提供更多灵活性。

对于这个问题,推荐第一种方法,sum(map(int, number_str)),因为它简洁且高效。

标签:map,Python,sum,number,int,result,str
From: https://blog.csdn.net/weixin_73334344/article/details/144591434

相关文章

  • 30.Python基础篇-socket模块
    介绍socket模块是用于实现网络通信的模块。它提供了底层网络操作的接口,使得用户可以通过网络实现客户端和服务器之间的数据传输。通过socket模块,程序可以通过网络进行数据传输、连接和通信。使用socket模块创建一个TCP服务server端代码#server端代码importsocketsk......
  • 【华为OD-E卷-寻找关键钥匙 100分(python、java、c++、js、c)】
    【华为OD-E卷-寻找关键钥匙100分(python、java、c++、js、c)】题目小强正在参加《密室逃生》游戏,当前关卡要求找到符合给定密码K(升序的不重复小写字母组成)的箱子,并给出箱子编号,箱子编号为1~N。每个箱子中都有一个字符串s,字符串由大写字母、小写字母、数字、标点符号......
  • 【华为OD-E卷-最多提取子串数目 100分(python、java、c++、js、c)】
    【华为OD-E卷-最多提取子串数目100分(python、java、c++、js、c)】题目给定[a-z],26个英文字母小写字符串组成的字符串A和B,其中A可能存在重复字母,B不会存在重复字母,现从字符串A中按规则挑选一些字母,可以组成字符串B。挑选规则如下:同一个位置的字母只能挑选一次......
  • 数据结构与算法Python版 散列与区块链
    文章目录一、散列二、完美散列函数三、完美散列函数的应用-区块链一、散列散列Hashing构造一个新的数据结构,使得查找算法的复杂度降到O(1),这种概念称为“散列Hashing”由数据项的值来确定其存放位置,数据项应该出现在大概什么位置,就可以直接到那个位置看看数据项是......
  • 数据结构与算法Python版 顺序查找与二分查找
    文章目录一、顺序查找二、二分查找一、顺序查找顺序查找SequentialSearch通过下标,我们就可以按照顺序来访问和查找数据项,这种技术称为“顺序查找”如果数据项保存在如列表这样的集合中,我们会称这些数据项具有线性或者顺序关系在Python列表中,这些数据项的存储位置......
  • 29.Python基础篇-网络基础理论
    重要知识点BS与CS架构BS(Browser/Server)架构:基于浏览器和服务器的架构,客户端通过浏览器访问服务器上的应用程序或服务。特点:客户端只需要一个浏览器,无需安装复杂的软件,服务器端处理大部分业务逻辑。应用:Web应用(如Web浏览器访问网站)。CS(Client/Server)架构:客户端和服务......
  • nmap工具的使用
    nmap的介绍Nmap(NetworkMapper)是一款开源的网络探测和安全审核工具。它主要用于网络发现和安全审计,能够帮助网络管理员和安全专业人员收集网络中主机和服务的信息。例如,网络管理员可以使用Nmap来了解公司内部网络中有哪些设备在线,以及这些设备上开放了哪些端口和服务;安全审......
  • 基于 Django和Python 的影视数据可视化系统
    文章目录程序资料获取一、项目技术二、项目内容和项目介绍三、核心代码四、效果图五、资料获取程序资料获取......
  • python语言jjsp爬虫程序代码
    importrequestsimportreimportosy=‘https://vip.lz-cdn5.com/20220705/30947_eb6de902/1200k/hls/mixed.m3u8’h={‘user-agent’:‘Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/131.0.0.0Safari/537.36Edg/131.0.......
  • C语言-jum-python-简单四则运算
    本题要求编写程序,计算2个整数的和、差、积、商并输出。题目保证输入和输出全部在整型范围内。输入格式:输入2个正整数A和B。每行输入一个数据。输出格式:在4行中按照格式“A运算符B=结果”顺序输出和、差、积、商。输入样例:83输出样例:8+3=118-3= 58*3=......