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

I'm not sure if I have correctly converted a string to an integer?

如果此 post 格式不正确,我深表歉意,我已尝试确保它是正确的,但这是我第一次 post 所以我想我可能得到了一些东西错了。

我完全是初学者 Python 3,正在学习 Udemy 课程,目前我们正在学习加入和拆分。

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

我使用了 isdigit() 方法来查看 'digits' 是否返回了 True。不过我怎么感觉哪里出错了?

我想这是一个非常基本的问题,但如果能提供任何形式的清晰度,我们将不胜感激!

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

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

我假设您要求使用拆分和连接将数字从字符串转换为 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