Python 程式將列表分成兩半


在 Python 中,可以使用列表讓單個變數包含多個專案。列表是 Python 中用於儲存資料集合的四種內建資料型別之一;另外三種是元組、集合和字典,每種都有其特定的用途。

什麼是列表?

方括號用於構建列表。列表是 Python 中最有效的工具,因為它們不一定是同構的。列表中可以包含整數、字串和物件等資料型別。由於列表是可變的,因此即使在建立後也可以對其進行更改。

在本文中,我們將探討使用 Python 程式設計將列表分成兩半的各種方法。列表是可變資料型別之一,可以儲存物件的集合。使用這些技術,您將能夠輕鬆地將任何列表分成兩半!

使用切片技術

在第一種情況下,列表被分成兩半或兩部分。根據列表的長度,這兩部分的大小可以相等或不相等。可以使用切片方法將列表分割。

演算法

  • 建立一個列表並使用其長度的一半初始化其中間索引。

  • 分別從開始到中間索引和從中間索引到末尾將其分成兩半。

  • 列印原始列表以及每個分割後的部分。

  • 在將這些部分合併成一個排序的列表之前,對每個部分進行排序。

  • 最後,列印這個新的合併排序列表。

示例

以下示例建立一個包含 6 個元素的列表,然後將索引設定為 3。然後它根據該索引將列表分成兩半 - 前半部分是索引之前的全部元素,後半部分是索引之後的全部元素。最後,它打印出列表的兩半。

#create list
list_1 = [10,20,30,40,50,60]
index = 3
first_half = list_1 [:index]
second_half = list_1 [index:]
print('The primary list is: ',list_1)
print("First half of list is ",first_half)
print("Second half of list is ",second_half)

輸出

The primary list is: [10, 20, 30, 40, 50, 60]
First half of list is [10, 20, 30]
Second half of list is [40, 50, 60]

在這裡,在上面解釋的方法中,我們有索引,並且列表的長度是預定義的。如果分割索引或兩部分的大小未指定會怎樣?下一步是確定列表的中間索引,這可以透過將列表的長度乘以 2 來完成。但是,如果列表的長度是奇數整數或列表不是對稱的,當我們除以列表時,我們將獲得一個浮點值。為了對結果進行四捨五入,我們將使用地板運算子 (//)。

示例

在這種方法中,我們的主要重點是解決不同的條件,即如果使用者要求的元素數量為奇數,那麼完成任務的過程是什麼。在這裡,split 函式返回兩個不相等的列表,因為列表的元素數量為奇數。中間位置為 (5/2) = 2.5,因為列表有 5 個元素。地板運算子返回小於或等於除法結果的最近整數。在本例中,地板運算子返回 2 而不是 2.5。

演算法

  • 定義一個函式,該函式接收數字列表並提示使用者輸入值。

  • 使用 for 迴圈遍歷列表,

  • 然後使用 append() 函式將每個數字除以 2 並找到其中間索引。

  • 完成後提示使用者輸入。

以下示例顯示程式接收使用者輸入的數字列表並將其分成兩半。它要求使用者輸入他們想要在列表中包含的元素數量,然後提示他們一次輸入一個元素。

中間索引是透過將列表的長度除以 2 計算出來的,然後使用此索引呼叫 split_list(),它使用切片將列表的前半部分和後半部分分開並分別返回兩個列表。

def split_list(input_L,n):
   first_half = input_L[:n]
   second_half = input_L[n:]
return first_half,second_half
if __name__ == "__main__" :
   list_1 = []
   length = int(input("Enter the number of elements you want in list : "))
   for i in range(0, length):
      item = int(input("Enter the element for list "+str(i+1)+" :"))
      list_1.append (item)

   middle_index = length//2
   first,second = split_list (list_1,middle_index)
   print ("Primary list: ", list_1)
   print ("First half of the list is: ", first)
   print ("second half of the list is: ", second)

輸出

執行上述程式後,將生成以下輸出 -

Enter the number of elements you want in list: 5
Enter the element for list 1:98
Enter the element for list 2:60
Enter the element for list 3:45
Enter the element for list 4:33
Enter the element for list 5:55
Primary list: [98, 60, 45, 33, 55]
First half of the list is: [98, 60]
second half of the list is: [45, 33, 55]

結論

在本文中,我們使用了不同的方法使用 python 將列表分成兩半。

更新於: 2023年4月21日

6K+ 閱讀量

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.