我不确定是否已将字符串正确转换为整数?

2024-03-29 02:29:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我很抱歉,如果这篇文章的格式不正确,我已经尝试确保它是正确的,但这是我第一次发布,所以我想我可能有什么地方出错了

我是一个学习Python 3的初学者,正在学习Udemy课程,目前我们正在学习连接和拆分

设置了将一串数字转换为整数的挑战。我编写的代码将值作为单个数字返回,但是我不确定这些值是转换为整数还是仍然是字符串?课程的讲师没有使用我下面的方法,他的方法返回了一个整数列表

我使用isdigit()方法查看“digits”是否返回了它所返回的True。但是我觉得我好像在什么地方出了问题

我想这是一个非常基本的问题,但任何形式的澄清都将不胜感激

numbers = "9,223,372,036,854,775,807"

for digits in numbers.split(","):
    print(int(digits))

Tags: 方法字符串代码格式地方数字整数课程
3条回答

我假设您要求使用拆分和联接将数字从字符串转换为int。这里有一种方法:

numbers = "123,456,789"

numbers.split(",") # numbers is now a list -> ["123", "456", "789"]
"".join(numbers) # converts numbers back into a string -> "123456789"

print(int(numbers))
# >>> 123456789

是的,您正在输出数字

如果您想输出一个数字列表,可以通过两种方式实现

  1. 创建一个空列表并将数字推入其中

    numbers = "9,223,372,036,854,775,807"
    ans = []
    for digits in numbers.split(","):
        ans.append(int(digits))
    print(ans)
    
  2. 使用列表理解

    numbers = "9,223,372,036,854,775,807"
    print([int(element) for element in numbers.split(",")])
    

这里有一个替代@Bryan Deng的答案:

num = '123,456,789'
num = num.replace(',', '') # replaces all commas with a '' empty string
# This way we don't have to convert to list than back to string

print(num) 
# 123456789

相关问题 更多 >