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)
運行結(jié)果如下:
[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]進程已結(jié)束,退出代碼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)
最后得到的結(jié)果是:
[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]]進程已結(jié)束,退出代碼0
由上可知,它并不能將兩個數(shù)組拼接,而是合成了一個二維數(shù)組。
第二種方法:
使用模擬指針合并為一個數(shù)組。我們可以通過一個數(shù)組(列表)中每個元素的下標(biāo)來找出對應(yīng)的值,那么儲存這個元素位置的下標(biāo)值的變量可以視作一個指針,但并不是真正意義上的指針。這里寫出來只是為了能提供一種新的思路。
先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ù)組元素下標(biāo)的最大值 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)
運行結(jié)果如下:
[1, 2, 3, 3, 4, 5, 6, 6, 7, 7, 8, 9, 9]
進程已結(jié)束,退出代碼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]
總結(jié)
到此這篇關(guān)于python對兩個數(shù)組進行合并排列處理的兩種方法的文章就介紹到這了,更多相關(guān)python數(shù)組合并排列內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python中如何將Tqdm與Asyncio結(jié)合使用呢
這篇文章主要和大家詳細介紹了在Python中如何將Tqdm與Asyncio結(jié)合使用呢,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-05-05python for循環(huán)remove同一個list過程解析
這篇文章主要介紹了python for循環(huán)remove同一個list過程解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-08-08python使用pil進行圖像處理(等比例壓縮、裁剪)實例代碼
這篇文章主要介紹了python使用pil進行圖像處理(等比例壓縮、裁剪)實例代碼,首先介紹了pil的相關(guān)內(nèi)容,然后分享了實例代碼,具有一定借鑒價值,需要的朋友可以參考下。2017-12-12python高效過濾出文件夾下指定文件名結(jié)尾的文件實例
今天小編就為大家分享一篇python高效過濾出文件夾下指定文件名結(jié)尾的文件實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-10-10