Python程序将列表分成两半
在Python中,可以使用列表(lists)将多个项存储在单个变量中。Python中用于存储数据集合的四个内置数据类型之一是列表(list),另外三个分别是元组(tuples)、集合(sets)和字典(dictionaries),每个数据类型有自己的用途。
什么是列表?
方括号用于构建列表,列表是Python中最常用的工具之一,因为它们不一定必须是同类型的。如整数(Integers)、字符串(Strings)和对象(Objects)等所有数据类型都可以在列表中找到。因为列表是可变的,所以即使在创建之后还可以对它们进行更改。
本文将介绍使用Python编程将列表分成两半的各种方法。列表是可变数据类型之一,可以存储一组对象。通过这些技术,您将能够轻松地将任何列表一分为二!
使用切片技术
在第一种情况下,列表被分成一半或两半。根据列表的长度,这些一半可以是相等的,也可以是大小不同的。可以使用切片方法分割列表。
算法
- 创建一个列表并使用其长度的一半将其中间索引初始化。
-
从开头到中间索引和从中间索引到结束分别把它分成两半。
-
打印原始列表和每个分割的部分。
-
在将它们合并为单个排序列表之前,对每个这样的一半进行排序。
-
最后,打印这个新合并的,排序后的列表。
例子
下面的例子创建一个包含6个元素的列表,然后将索引设置为3。然后,基于该索引将列表分成两半,第一半是索引之前的所有元素,第二半是索引之后的所有元素。最后,打印出列表的两半。
#创建列表
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来实现。但是,如果列表的长度是奇整数或列表不对称,当我们将列表除以它们时,我们将得到一个浮点值。为了取整,我们将使用floor运算符(//)。
例子
在这种方法中,我们的主要关注点是解决不同的情况,即,如果用户输入的元素数量是奇数,那么任务的完成过程将是什么样的。在此方法中,split函数返回两个不同大小的列表,因为该列表具有奇数个元素。因为列表长度是五,所以中间点是(5/2)= 2.5。取整 floor 运算符返回小于等于此运算结果的最接近整数值。在此示例中,floor运算符返回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 将列表分成两个部分。