Python如何将三层嵌套列表的字符串数字转为整型,实现m1到m2的转换
实现m1到m2格式转换的方法
核心逻辑是逐层遍历嵌套列表,对最内层的逗号分隔数字字符串做切割和类型转换,两种常见实现方式如下:
1. 嵌套列表推导式(简洁写法)
直接通过三层嵌套推导式完成转换,代码量少可读性较高:
m1 = [[['64,56'], ['77,9'], ['3,55,44,22,11']]] m2 = [[[int(num) for num in item[0].split(',')] for item in layer] for layer in m1]
2. 分步循环写法(适合新手理解)
如果对嵌套推导式不熟悉,可以拆成多层循环逐步处理:
m1 = [[['64,56'], ['77,9'], ['3,55,44,22,11']]] m2 = [] # 遍历第一层嵌套 for first_level in m1: temp_first = [] # 遍历第二层嵌套 for inner_item in first_level: # 取最内层的逗号分隔字符串,切割后转整数 num_str = inner_item[0] int_list = [int(n) for n in num_str.split(',')] temp_first.append(int_list) m2.append(temp_first)
两种方法运行后得到的m2都完全匹配要求的结构:[[[64, 56], [77, 9], [3, 55, 44, 22, 11]]]
内容的提问来源于stack exchange,提问作者Mo Money
相关产品推荐
相关产品推荐

