所以我想列一个像这样的清单:
[1, 2, 3, 4]
然后在位置" i"之前添加一个项目。例如,如果i = 2,则列表将变为:
[1, 2, "desired number", 3, 4]
我怎么能在python中做到这一点?谢谢。
答案 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]