Python程式用於按列對2D數組進行排序

王林
發布: 2023-09-15 22:57:03
轉載
694 人瀏覽過

Python程式用於按列對2D數組進行排序

當宣告二維陣列或二維陣列時,它被視為矩陣。所以,我們知道矩陣由行和列組成。依升序或降序對屬於矩陣特定列的元素進行排序的過程稱為跨列對 2D 陣列進行排序。讓我們考慮一個演算法和一個輸入輸出場景,以了解這個概念的確切應用。

輸入輸出場景

考慮一個二維數組。

arr = [[ 7, 9, 5, 7 ], [9, 5, 9, 4], [2, 7, 8, 6], [ 8, 6, 6, 5]]
登入後複製

上述二維數組的矩陣表示如下 -

7 9 5 7 9 5 9 4 2 7 8 6 8 6 6 5
登入後複製

現在,讓我們按降序對給定矩陣進行跨列排序。

  • 第一列由元素 7、9、2 和 8 組成。元素 7、9、2 和 8 的降序是 9、8、7 和 2。

  • 第二列由元素 9、5、7 和 6 組成。元素 9、5、7 和 6 的降序是 9、7、6 和 5。

    < /里>
  • 同樣,第三列和第四列也已排序。

  • 跨列依降序排序的矩陣為

9 9 5 7 8 7 9 6 7 6 8 5 2 5 6 4
登入後複製
  • 排序矩陣的陣列表示為

  • [[9, 9, 9, 7 ], [7, 7, 8, 6], [8, 6, 6, 5], [ 2, 5, 5, 4 ]]
    登入後複製
  • 這是排序後的陣列。

範例

在此範例中,我們將討論如何跨列對二維陣列進行排序。建置所需程序必須遵循的步驟如下

  • 第 1 步- 宣告一個二維陣列

  • #第 2 步- 按列遍歷所有元素,以便相應地對這些元素進行排序。

  • 步驟 3- 比較同一列的元素,如果一個元素小於另一個元素,則遵循條件。

  • 第 4 步- 如果不符合條件,則交換元素。

  • 第 5 步- 繼續相同的過程,直到覆蓋列中的所有元素,最後列印排序形式的陣列。

def sort_the_array_column_wise(arr): for j in range (size): for i in range(size - 1): if arr[i][j] < arr[i + 1][j]: temp = arr[i][j] arr[i][j] = arr[i + 1][j] arr[i + 1][j] = temp for i in range(size): for j in range(size): print(arr[i][j], end=" ") print() arr = [[7, 9, 5, 7 ], [9, 5, 9, 4], [2, 7, 8, 6], [ 8, 6, 6, 5 ]] size = len(arr) print("The array before performing sorting operation is: ") for i in range(size): for j in range(size): print(arr[i][j], end=" ") print() print("The array after performing sorting operation is: ") sort_the_array_column_wise(arr)
登入後複製

輸出

上述程式的輸出如下 -

The array before performing sorting operation is: 7 9 5 7 9 5 9 4 2 7 8 6 8 6 6 5 The array after performing sorting operation is: 9 9 9 7 7 7 8 6 8 6 6 5 2 5 5 4
登入後複製

結論

我們可以清楚地看到,輸出實際上與上面範例中的預期結果相符。同樣,可以透過更改上述程式中的幾個語句來完成二維數組的跨行排序。這就是跨列對 2D 陣列進行排序的概念的工作原理。

以上是Python程式用於按列對2D數組進行排序的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:tutorialspoint.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!