[英]Replace the last element in a list with another list
例如我有兩個 arrays 一個array1
和array2
array1 = ['A', 'B', 'C', 'D', 'E', 'F',]
array2 = ['G', 'H', 'I',]`
現在我想要 output 作為
array1 = ['A', 'B', 'C', 'D', 'E', 'G', 'H', 'I',]
我怎樣才能在 python 中做到這一點
>>> array1 = ['A', 'B', 'C', 'D', 'E', 'F']
>>> array2 = ['G', 'H', 'I']
>>> array1 = array1[:-1] + array2
>>> array1
['A', 'B', 'C', 'D', 'E', 'G', 'H', 'I']
要替換python列表的一部分,可以使用切片分配:
>>> array1 = ['A', 'B', 'C', 'D', 'E', 'F']
>>> array2 = ['G', 'H', 'I']
>>> array1[-1:] = array2
>>> array1
['A', 'B', 'C', 'D', 'E', 'G', 'H', 'I']
您可以使用切片分配來替換列表的任何部分,包括在不替換現有元素的情況下插入列表:
>>> array1[0:0] = ['1st', '2nd']
>>> array1
['1st', '2nd', 'A', 'B', 'C', 'D', 'E', 'G', 'H', 'I']
在這里[0:0]
切片選擇array1
的空白部分,並用新元素“替換”它。
鏈接數組時,使用itertools可能有用:
import itertools
array1 = itertools.chain(array1[:-1], array2)
而已。
Doc: http : //docs.python.org/2/library/itertools.html#itertools.chain
Python3 中的替代解決方案:
>>> array1 = ['A', 'B', 'C', 'D', 'E', 'F',]
>>> array2 = ['G', 'H', 'I',]
>>> array1 = [*array1[:-1], *array2]
>>> array1
['A', 'B', 'C', 'D', 'E', 'G', 'H', 'I']
>>> array1.remove(array1[len(array1)-1])
>>> for i in array2:
array1.append(i)
Kinda天真但可以工作..
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.