在Python中,将字符串转换为整数是一个常见的操作。以下介绍了五种常用的方法,帮助您轻松地将字符串转换为整数。方法一:使用内置函数 int()Python的内置函数 int() 可以直接将字符串转换...
在Python中,将字符串转换为整数是一个常见的操作。以下介绍了五种常用的方法,帮助您轻松地将字符串转换为整数。
int()Python的内置函数 int() 可以直接将字符串转换为整数。这是最简单直接的方法。
s = "123"
i = int(s)
print(i) # 输出: 123int() 函数会抛出 ValueError 异常。int() 函数可以接受一个可选的基数参数,用于指定字符串的进制。map() 函数map() 函数可以将一个函数应用到序列的每个元素上。结合 int() 函数,可以方便地将一个字符串列表转换为整数列表。
s_list = ["123", "456", "789"]
i_list = list(map(int, s_list))
print(i_list) # 输出: [123, 456, 789]map() 返回的是一个迭代器,需要转换为列表或其他可迭代对象才能直接使用。eval() 函数eval() 函数可以计算字符串中的有效Python表达式,并将其返回结果。如果字符串是一个整数表达式,eval() 也可以将其转换为整数。
s = "123"
i = eval(s)
print(i) # 输出: 123eval() 可能存在安全风险,因为它可以执行任何Python代码。建议仅在信任的代码中使用。ast.literal_eval() 函数对于需要安全地将字符串转换为Python数据类型的情况,可以使用 ast.literal_eval() 函数。这个函数与 eval() 类似,但它只能计算字面量表达式,因此更安全。
import ast
s = "123"
i = ast.literal_eval(s)
print(i) # 输出: 123ast.literal_eval() 只能计算字面量表达式,对于复杂的表达式,它可能无法正确处理。对于一些简单的字符串转换需求,可以手动解析字符串,逐字符转换为整数。
def str_to_int(s): i = 0 for c in s: i = i * 10 + (ord(c) - ord('0')) return i
s = "123"
i = str_to_int(s)
print(i) # 输出: 123总结
以上就是Python中将字符串转换为整数的五种常用方法。根据具体需求选择合适的方法,可以使代码更加简洁、高效。