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来完成。然而,如果列表的长度是奇数或列表不是对称的,当我们除以列表时会得到一个浮点数。为了取整,我们将使用floor运算符(//)。
示例
在这种方法中,我们主要解决了一个不同的情况,即如果用户所要求的元素是奇数个,那么完成任务的过程将是什么样的。在这里,split函数返回两个不相等的列表,因为列表的元素数量是奇数。中间值是(5/2)=2.5,因为列表长度为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。