我是Python的新手,想要找到另一种方法来重新创建与列表一起使用的插入方法功能。
>>> ulist = [1,2,3,4,5]
>>> ulist.insert(2,9)
>>> ulist
[1, 2, 9, 3, 4, 5]
>>>
在这里,我想从用户那里获取一个输入列表,然后向他/她询问他想要放入新值的地方的编号。 然后在该位置添加该值,而不会干扰现有的列表元素。
>>> ulist = [1,2,3,4,5]
>>> num = int(input("Enter the number: "))
Enter the number: 2
>>> index1 = num - 1
>>> val = int(input("enter the value to be put at index location: "))
enter the value to be put at index location: 9
>>> ulist[index1] = val
>>> print(ulist)
[1, 9, 3, 4, 5]
>>>
答案 0 :(得分:4)
您可以使用切片表示法。这也有保留原始列表的优点:
>>> ulist = [1,2,3,4,5]
>>> ulist2 = ulist[:2] + [9] + ulist[2:]
>>> ulist2
[1, 2, 9, 3, 4, 5]
>>> ulist
[1, 2, 3, 4, 5]
答案 1 :(得分:2)
您可以将包含一个元素的列表分配给长度为零的切片:
>>> ulist = [1, 2, 3, 4, 5]
>>> ulist[2:2] = [9]
>>> ulist
[1, 2, 9, 3, 4, 5]
您可以将新列表分配给现有列表的切片。
盯着你的清单:
>>> ulist = [1, 2, 3, 4, 5]
您可以对其进行切片:
>>> ulist[2:4]
[3, 4]
您可以为此切片指定一个具有任意大小的新列表:
>>> ulist[2:4] = [10, 20, 30]
[1, 2, 10, 20, 30, 5]
这会选择一个空切片:
>>> ulist[2:2]
[]
分配给它基本上插入索引2:
>>> ulist[2:2] = [100, 200, 300]
>>> ulist
[1, 2, 100, 200, 300, 10, 20, 30, 5]
使用右侧只有一个元素的列表具有相同的列表
效果为ulist.insert()
。