list1 = [1,2,3,4,5,6,7,8,9]
def replace():
input_list = input("Enter three numbers separated by commas: ")
list2 = input_list.split(',')
list2 = [int(x.strip())for x in list2]
del list1[-3:]
list1.insert(0,list2)
print(list1)
输入12,13,14 这给出了结果[[12,13,14],1,2,3,4,5,6] 首先,我希望有一个“平面”列表作为结果,似乎无法正确[12,13,14,1,2,3,4,5,6]。我可以通过从list2 = [int(x.strip())for ...]语句中删除方括号,得到作为列表一部分输入的最后一个值,给出[14,1,2,3,4,5] ,6]。 我的第二个愿望是我可以永久地更改初始列表,即[12,13,14,1,2,3,5,6]成为首先调用的list1。我是否需要将其保存为csv文件并写入?我对此非常陌生,所以如果这是一个非常简单或愚蠢的问题,请原谅我。
答案 0 :(得分:1)
我相信这就是你想要的:
In [11]: list1 = [1, 2, 3, 4, 5, 6]
In [12]: list2 = [12, 13, 14]
In [13]: list1[0:0] = list2
In [14]: list1
Out[14]: [12, 13, 14, 1, 2, 3, 4, 5, 6]
切片操作就地更改list1
,因此变量不仅仅指向新列表。我认为那是“永久”的意思吗?