如何在Python中创建嵌套列表?及列表元素转单元素子列表
问题1:Python中是否支持嵌套列表及创建方法?
Python完全支持嵌套列表(即列表包含列表的结构),以下是几种常用的创建方式:
直接字面量定义:直接在父列表中写入子列表,适合已知固定结构的场景
# 创建包含3个子列表的嵌套列表 nested_list = [[1, 2, 3], ["a", "b"], [True]]循环动态构建:通过循环逐个添加子列表,适合需要动态生成子列表内容的场景
nested_list = [] # 循环生成5个子列表,每个子列表包含当前循环索引的平方值 for i in range(5): nested_list.append([i, i**2]) # 结果:[[0, 0], [1, 1], [2, 4], [3, 9], [4, 16]]嵌套列表推导式:用更简洁的语法一次性生成多层嵌套结构,适合批量生成规则化的嵌套列表
# 生成3x3的二维列表,每个元素是行号乘列号 nested_list = [[i * j for j in range(3)] for i in range(3)] # 结果:[[0, 0, 0], [0, 1, 2], [0, 2, 4]]
问题2:将列表元素封装为独立子列表的方法
对于原列表 li = ['A','B','C'],要转换为每个元素都被封装成独立子列表的形式 [['A'],['B'],['C']],推荐以下几种方法:
列表推导式(推荐):语法简洁且执行效率高,是Python中处理这类转换的首选方式
li = ['A','B','C'] new_li = [[item] for item in li] # 结果:[['A'], ['B'], ['C']]循环遍历+append:逻辑直观,适合需要在转换过程中添加额外操作的场景
li = ['A','B','C'] new_li = [] for item in li: # 可在此处添加对item的额外处理逻辑 new_li.append([item])map函数+lambda表达式:适合函数式编程风格的写法
li = ['A','B','C'] new_li = list(map(lambda x: [x], li))
内容的提问来源于stack exchange,提问作者Nima Ghadirzadeh
相关产品推荐
相关产品推荐

