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+ 阅读量

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告