gpt4 book ai didi

python - 将逗号分隔的字符串数字转换为python中的整数或 float

转载 作者:太空宇宙 更新时间:2023-11-04 07:08:25 26 4
gpt4 key购买 nike

我是 Python 的新手,我遇到了一个问题。我正在尝试将一串数字转换为 int 或 float,以便我可以将它们相加。这是我的第一个问题/帖子。非常感谢任何建议!

total = 0
s = '2, 3.4, 5, 3, 6.2, 4, 7'

for i in s:
total += int(i)
print total

我得到错误:

      *3 
4 for i in s:
----> 5 total += int(i)
6 print total

ValueError: invalid literal for int() with base 10: ','*

最佳答案

您需要使用 str.split 在逗号处拆分字符串.然后,将它们转换为 float (我不知道当你说要将它们转换为“int 或 float”时为什么要使用 int)。

total = 0
s = '2, 3.4, 5, 3, 6.2, 4, 7'
for i in s.split(','):
total += float(i)
print total

就个人而言,我更愿意使用生成器表达式来执行此操作:

s = '2, 3.4, 5, 3, 6.2, 4, 7'
total = sum(float(i) for i in s.split(','))
print total

您所做的不起作用的原因是 for i in s 遍历 s 的每个单独字符。所以首先它会执行 total += int('2'),这是有效的。但随后它尝试 total += int(','),这显然不起作用。

关于python - 将逗号分隔的字符串数字转换为python中的整数或 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28241339/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com