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 将列表分成两半。