
python如何把字符列表变为数值列表
用户关注问题
如何将包含数字字符的字符串列表转换为整数列表?
我有一个字符串列表,其中每个元素都是数字字符,想把它转换成对应的整数列表,有什么简单的做法吗?
使用列表推导式将字符串转为整数
可以利用列表推导式遍历字符串列表,并对每个元素使用int()函数进行转换。示例如下:
str_list = ['1', '2', '3']
int_list = [int(x) for x in str_list]
print(int_list) # 输出 [1, 2, 3]
如何将字符串列表转换成浮点数列表?
如果字符串列表里的元素包括小数点数字,如何将它们转换成浮点数列表?
用float函数转换字符串为浮点数
类似于整数转换,只需将int换成float即可。示例代码:
str_list = ['1.1', '2.2', '3.3']
float_list = [float(x) for x in str_list]
print(float_list) # 输出 [1.1, 2.2, 3.3]
当字符串列表中含有非数字字符时,如何安全地转换为数值列表?
如果列表里有些字符串不是有效数字,转换时会报错,有没有不报错的方案?
使用异常处理过滤非数字元素
可以通过try-except语句跳过不能转换的元素,示例代码:
str_list = ['1', 'a', '2', 'b']
num_list = []
for s in str_list:
try:
num_list.append(int(s))
except ValueError:
pass
print(num_list) # 输出 [1, 2]