如何将列表的第i个元素插入到嵌套列表对应第i个子列表的首位
Python 列表对应位置拼接实现方案
你可以通过zip()配对两个列表的同位元素,配合列表推导式快速实现需求:
示例输入
List_of_Lists = [[1,2,3],[2,3,4],[4,4,4]] List1 = [1,2,3]
实现代码(生成新列表,不修改原数据)
New_List_of_List = [[item] + sub_list for item, sub_list in zip(List1, List_of_Lists)]
运行后输出结果为:
[[1, 1, 2, 3], [2, 2, 3, 4], [3, 4, 4, 4]]
实现逻辑
zip(List1, List_of_Lists)会按位置依次配对两个列表的元素,得到三组配对数据:(1, [1,2,3])、(2, [2,3,4])、(3, [4,4,4])- 列表推导式中将
List1的单个元素转为单元素列表[item],再和对应子列表做拼接,即可把元素放到子列表的首位
可选方案(直接修改原嵌套列表)
如果你不需要保留原数据,可以用enumerate遍历配合insert方法实现:
for idx, item in enumerate(List1): List_of_Lists[idx].insert(0, item)
内容的提问来源于stack exchange,提问作者thecarny
相关产品推荐
相关产品推荐

