簡體   English   中英

是否可以將較小的列表合並到較大的列表中

[英]Is it possible to merge a smaller list into bigger list

假設我有 2 個列表如下

list1 = ['NA', 'NA', 'NA', 'NA', 'NA']
list2 = ['a', 'b', 'c']

如何將 list2 合並到 list1 中,結果如下

list1 = ['a', 'b', 'c', 'NA', 'NA']

使用 for 循環逐個替換項目將完成工作,但有沒有更快的方法?

您可以在list1中使用列表切片在索引0len(list2)之間調整list2

list1[: len(list2)] = list2

Output:

['a', 'b', 'c', 'NA', 'NA']

一種明顯的方法是merged = list2 + list1[len(list2):]

一個簡單的 for 循環可以為您完成。 確保 list2 實際上比 list1 小。 每當 list2 變得大於 list1 時,這將不再起作用。

list1 = ['NA', 'NA', 'NA', 'NA', 'NA']
list2 = ['a', 'b', 'c']
for i in range(len(list2)):
    list1[i] = list2[i]
print(list1)

這打印出來:

['a', 'b', 'c', 'NA', 'NA']

使用列表切片:

list1 = ['NA', 'NA', 'NA', 'NA', 'NA']
list2 = ['a', 'b', 'c']



list1 = list2 + list1[:(len(list1) - len(list2))]
print(list1)  # output # list1 = ['a', 'b', 'c', 'NA', 'NA']

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM