我想将两个列表合并在一起(ListA
,ListB
)。但是,在ListA
。
用户输入的元素ListB
应与listA
合并。
例如;
ListA = [2,1,0]
ListB = [4,5,6]
用户输入 1 。
输出:
new_list = [2, 4, 5, 6, 1, 0]
现在我正在考虑使用for loop
,但由于我对for loops
的了解有限,我不知道如何在循环一定量后让循环停止。
答案 0 :(得分:4)
切片分配实际上非常简单,如Lists上的教程部分所述:
ListA = [2,1,0]
ListB = [4,5,6]
# make a copy -- I'm assuming you don't want to modify ListA in the process.
new_list = ListA[:]
# insert ListB at a particular location. I've arbitrarily chosen `1`
# basically this says to take the empty section of the list
# starting just before index 1 and ending just before index 1 and replace it
# with the contents of ListB
new_list[1:1] = ListB
# Check the output to make sure it worked.
print(new_list) # [2, 4, 5, 6, 1, 0]
答案 1 :(得分:0)
ListA = [2,1,0]
ListB = [4,5,6]
a=[]
def merg(i):
for i in range(i):
a.append(ListA[i])
for j in ListB:
a.append(j)
a.append(ListA[i+1])
return a
print merg(2)
样本:
[2, 1, 4, 5, 6, 0]
答案 2 :(得分:0)
这是一种可以在没有任何变异操作的情况下执行此操作的方法:
new_list = a[:i] + b + a[i:]
在实践中看到它:
>>> a = [2, 1, 0]
>>> b = [4, 5, 6]
>>> i = 1
>>> new_list = a[:i] + b + a[i:]
>>> new_list
[2, 4, 5, 6, 1, 0]
如果你不理解任何一件,你可以将其分解:
>>> a[:i]
[2]
>>> a[i:]
[1, 0]
>>> # etc.
那么,为什么要在不改变操作的情况下这样做呢?很多可能的原因:
a
,因为我们不会修改它。但它的可读性更低,更冗长,效率更低。因此,值得了解两种做法,因此您可以根据具体情况决定哪种方式适合。