所以我想做一个这样的列表:
[1, 2, 3, 4]
然后在位置"i"之前添加一个项目。例如,如果 i = 2,则列表将变为:
[1, 2, "desired number", 3, 4]
我怎样才能在python中做到这一点?谢谢。
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]
只需在
中间对列表进行分区,然后在这些分区之间添加要添加的数字:
>>> l = [1, 2, 3, 4]
>>> add = 5
>>> l[:len(l)//2] + [add] + l[len(l)//2:]
[1, 2, 5, 3, 4]