python對兩個數(shù)組進行合并排列處理的兩種方法
前言
如何使用python對兩個數(shù)組(列表)進行合并(合并為一個數(shù)組),并按照從小到大的順序進行排列?
我們先隨意寫兩個數(shù)組:arr1和arr2。
第一種方法:
先使用extend函數(shù)將arr1和arr2合并為一個數(shù)組,再使用sort函數(shù)將新arr1按照從小到大的順序進行排列。
# 第一種方式 arr1 = [1, 4, 2, 3, 7, 6, 9] arr2 = [3, 6, 5, 7, 9, 8] print(arr1) print(arr2) arr1.extend(arr2) #使用extend函數(shù)進行拼接 arr1.sort(reverse=False) print(arr1)
運行結果如下:
[1, 4, 2, 3, 7, 6, 9]
[3, 6, 5, 7, 9, 8]
[1, 2, 3, 3, 4, 5, 6, 6, 7, 7, 8, 9, 9]進程已結束,退出代碼0
為什么不使用append函數(shù)運行?????
我們可以嘗試運行一下。
arr1 = [1, 4, 2, 3, 7, 6, 9] arr2 = [3, 6, 5, 7, 9, 8] print(arr1) print(arr2) arr1.append(arr2) print(arr1)
最后得到的結果是:
[1, 4, 2, 3, 7, 6, 9]
[3, 6, 5, 7, 9, 8]
[1, 4, 2, 3, 7, 6, 9, [3, 6, 5, 7, 9, 8]]進程已結束,退出代碼0
由上可知,它并不能將兩個數(shù)組拼接,而是合成了一個二維數(shù)組。
第二種方法:
使用模擬指針合并為一個數(shù)組。我們可以通過一個數(shù)組(列表)中每個元素的下標來找出對應的值,那么儲存這個元素位置的下標值的變量可以視作一個指針,但并不是真正意義上的指針。這里寫出來只是為了能提供一種新的思路。
先sort將兩個數(shù)組排序,再利用for循環(huán)進行拼接。
arr1 = [1, 4, 2, 3, 7, 6, 9]
arr2 = [3, 6, 5, 7, 9, 8]
arr1.sort(reverse=False) # 若為True,則是從大到小排列
arr2.sort(reverse=False)
ind = 0
ans = arr1.copy()
for i in range(0, len(arr2)):
while ind < len(arr1): # ind的范圍不能超過數(shù)組元素下標的最大值
if arr2[i] <= arr1[ind]:
ans.insert(ind + i, arr2[i]) # 向第一個數(shù)組中插入第二個數(shù)組中的數(shù)
break
else:
ind += 1 # 如果ind指向的數(shù)比i指向的數(shù)小,則ind向后一位
else:
ans = ans + arr2[i:]
print(ans)運行結果如下:
[1, 2, 3, 3, 4, 5, 6, 6, 7, 7, 8, 9, 9]
進程已結束,退出代碼0
補充:python中多個數(shù)組的行合并以及列合并
import numpy as np
a = [1, 2, 3, 4]
b = [5, 6, 7, 8]
#數(shù)組縱向合并
mergeA = np.vstack((a, b))
print("mergeA: ", mergeA)
#mergeA: ?[[1 2 3 4]
# ? ? ? ? ?[5 6 7 8]]
#數(shù)組橫向合并
mergeB = np.hstack((a, b))
print("mergeB: ", mergeB)
#mergeB: ?[1 2 3 4 5 6 7 8]總結
到此這篇關于python對兩個數(shù)組進行合并排列處理的兩種方法的文章就介紹到這了,更多相關python數(shù)組合并排列內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
python for循環(huán)remove同一個list過程解析
這篇文章主要介紹了python for循環(huán)remove同一個list過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-08-08
python使用pil進行圖像處理(等比例壓縮、裁剪)實例代碼
這篇文章主要介紹了python使用pil進行圖像處理(等比例壓縮、裁剪)實例代碼,首先介紹了pil的相關內(nèi)容,然后分享了實例代碼,具有一定借鑒價值,需要的朋友可以參考下。2017-12-12

