Python程序将列表分成两半

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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

Python 教程