Python中向嵌套列表指定位置插入子列表的实现方法
Python嵌套列表插入子列表实现方案
基础需求:插入到列表起始位置
你可以直接用Python列表内置的insert()方法,指定插入索引为0即可,不需要额外引入依赖:
# 初始数据 input_list = [['c', 'd'], ['e', 'f']] addition_to_input_list = ['a', 'b'] # 插入到起始位置 input_list.insert(0, addition_to_input_list) print(input_list) # 输出:[['a', 'b'], ['c', 'd'], ['e', 'f']]
如果你不想修改原列表,可以用列表拼接生成新列表:
required_output = [addition_to_input_list] + input_list
扩展需求:支持任意索引位置插入
封装通用插入函数即可,可额外增加索引合法性校验避免报错:
def insert_sublist_to_nested_list(origin_list: list, sublist: list, insert_index: int = 0) -> list: # 索引合法性校验,超出范围直接抛出明确异常 if insert_index < 0 or insert_index > len(origin_list): raise IndexError(f"插入索引非法,有效范围为 0 到 {len(origin_list)}") origin_list.insert(insert_index, sublist) return origin_list
调用示例
- 插入到起始位置(默认索引为0,可省略传参):
res = insert_sublist_to_nested_list(input_list, addition_to_input_list)
- 插入到索引1的位置(两个原列表中间):
res = insert_sublist_to_nested_list(input_list, addition_to_input_list, 1) # 输出:[['c', 'd'], ['a', 'b'], ['e', 'f']]
- 插入到列表末尾:
res = insert_sublist_to_nested_list(input_list, addition_to_input_list, len(input_list)) # 输出:[['c', 'd'], ['e', 'f'], ['a', 'b']]
内容的提问来源于stack exchange,提问作者Zenith_1024
相关产品推荐
相关产品推荐

