You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将嵌套列表中的所有字符串数值转换为整数?

问题分析

你的核心问题是没注意到values是二维列表——每个元素都是包含字符串成绩的子列表(比如['100', '90', '80']),而int()函数只能转换单个字符串/数字,直接对整个子列表调用int()必然报错。

先看你两种方法的问题:

  • 方法一:语法错误,列表推导式需要用[]包裹,而且x是子列表,int(x)无法将列表转为整数
  • 方法二:map(int, values)会把每个子列表传给int(),同样因为int()不接受列表类型参数而报错
正确解决方法

方法1:嵌套列表推导式(最直观)

遍历values中的每个子列表,再逐个转换子列表里的字符串为整数:

int_values = [[int(score) for score in sublist] for sublist in values]

方法2:嵌套map函数

用两层map,内层处理子列表的元素转换,外层处理每个子列表:

int_values = list(map(lambda sublist: list(map(int, sublist)), values))

方法3:普通循环(适合新手理解)

int_values = []
for sublist in values:
    temp = []
    for score in sublist:
        temp.append(int(score))
    int_values.append(temp)
测试输出

运行上述任意一种方法后,打印int_values会得到:

[[100, 90, 80], [88, 99, 111], [45, 56, 67], [59, 61, 67], [73, 79, 83], [89, 97, 101]]

内容的提问来源于stack exchange,提问作者stowe9616

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 13:48:22