在python中添加列表中间的项目

时间:2018-02-01 11:30:39

标签: python python-3.x list

所以我想列一个像这样的清单:

[1, 2, 3, 4]

然后在位置" i"之前添加一个项目。例如,如果i = 2,则列表将变为:

[1, 2, "desired number", 3, 4]

我怎么能在python中做到这一点?谢谢。

2 个答案:

答案 0 :(得分:1)

Insert是一个明智的选择,你也可以使用列表推导(切片)。

根据您要插入的不均匀项目列表的哪一侧,您可能需要使用

lst = [1, 2, 3, 4, 7, 8, 9]

midpoint = len(lst)//2        # for 7 items, after the 3th

lst = lst[0:midpoint] + [5] + lst[midpoint:]  

print (lst) # => [1, 2, 3, 5, 4, 7, 8, 9]

lst = [1, 2, 3, 4, 7, 8, 9]

midpoint = len(lst)//2+1      # for 7 items, after the 4th

lst = lst[0:midpoint] + [5] + lst[midpoint:] 

print (lst) # => [1, 2, 3, 4, 5, 7, 8, 9]

答案 1 :(得分:0)

只需在中间对列表进行分区,然后在这些分区之间添加要添加的数字:

>>> l = [1, 2, 3, 4]
>>> add = 5
>>> l[:len(l)//2] + [add] + l[len(l)//2:]
[1, 2, 5, 3, 4]