将列表中的最后一个元素替换为另一个列表

use*_*375 8 python

例如,我有两个数组a array1array2

array1 = ['A', 'B', 'C', 'D', 'E', 'F',]
array2 = ['G', 'H', 'I',]`
Run Code Online (Sandbox Code Playgroud)

现在我想要输出为

array1 = ['A', 'B', 'C', 'D', 'E', 'G', 'H', 'I',]
Run Code Online (Sandbox Code Playgroud)

我怎么能在python中做到这一点

jam*_*lak 18

>>> array1 = ['A', 'B', 'C', 'D', 'E', 'F']
>>> array2 = ['G', 'H', 'I']
>>> array1 = array1[:-1] + array2
>>> array1
['A', 'B', 'C', 'D', 'E', 'G', 'H', 'I']
Run Code Online (Sandbox Code Playgroud)


Mar*_*ers 16

要替换python列表的某些部分,可以使用切片分配:

>>> array1 = ['A', 'B', 'C', 'D', 'E', 'F']
>>> array2 = ['G', 'H', 'I']
>>> array1[-1:] = array2
>>> array1
['A', 'B', 'C', 'D', 'E', 'G', 'H', 'I']
Run Code Online (Sandbox Code Playgroud)

您可以使用切片分配来替换列表的任何部分,包括插入不替换现有元素的列表:

>>> array1[0:0] = ['1st', '2nd']
>>> array1
['1st', '2nd', 'A', 'B', 'C', 'D', 'E', 'G', 'H', 'I']
Run Code Online (Sandbox Code Playgroud)

这里[0:0]切片选择一个空的部分array1并用新元素"替换"它.

  • @jamylak:两种方法都有效; 我认为*OP意味着像我一样改变'array1`,但这也不是100%明确的. (2认同)