当前位置: 首页 > 后端技术 > Python

8个高级Python列表使用技巧你知道吗?

时间:2023-03-25 22:03:23 Python

Python中的列表是我们最常用的数据结构之一,也是最强大的数据结构之一!Python列表功能非常丰富,并且有许多未被发现的隐藏技巧。一、使用Python过滤列表1、使用Filter()函数filter()函数有两个参数:一个函数和一个iterable。在这种情况下,我们将定义一个函数并过滤一个列表。让我们用一个例子来试试吧!我们将从一个列表开始,过滤掉所有小于3的项目:original_list=[1,2,3,4,5]deffilter_three(number):returnnumber>3filtered=filter(filter_three,original_list)filtered_list=list(filtered)print(filtered_list)#Returns[4,5]让我们看看这里发生了什么:我们定义了原始列表,然后定义了一个接受参数(“数字”)的函数。如果数字大于3,函数将返回True。我们定义了一个应用过滤功能的项目(“已过滤”)。我们的项目被过滤并被过滤。最后,我们创建“filtered_list”,用过滤后的对象替换列表函数。2.具有列表理解类似地,我们可以使用列表理解来过滤列表。请记住,列表推导式是定义和修改列表的一种非常简单且快速的方法。让我们看看前面的任务如何用列表理解来完成:original_list=[1,2,3,4,5]filtered_list=[numberfornumberinoriginal_listifnumber>3]print(filtered_list)#Return[4,5]从这两个例子我们可以看出,列表理解是一种更简单、更快捷的过滤列表的方法。2.修改列表1.使用Map()函数Python的Map函数允许我们对可迭代对象中的每一项应用一个函数。假设我们有一个列表,想要返回每个数字的平方。我们可以使用map()函数来实现这一点。让我们看看它是如何工作的:original_list=[1,2,3,4,5]defsquare(number):returnnumber**2squares=map(square,original_list)squares_list=list(squares)print(squares)#Returns[1,4,9,16,25]让我们来看看这里发生了什么:首先,我们定义了原始列表和一个返回其参数(“数字”)平方的函数。然后,我们创建一个名为“squares”的新变量,它是map函数的结果,函数和原始列表作为其参数。最后,我们创建另一个新变量以将list函数应用于squares变量。这个方法有点复杂!接下来让我们看看列表理解!2.拥有列表理解我们可以使用列表理解来修改列表项。这是编写代码的更简单、更优雅的方法。让我们试试吧!original_list=[1,2,3,4,5]squares_list=[number**2fornumberinoriginal_list]print(squares_list)#Returns[1,4,9,16,25]第三,将列表与Zip()FunctionMerge在某些情况下,可能需要合并两个或多个列表。这就是zip()函数的作用:在每个索引处创建一个对象,其中包含列表的相应元素。让我们用一个例子来尝试一下:numbers=[1,2,3]letters=['a','b','c']combined=zip(numbers,letters)combined_list=list(combined)#returns[(1,'a'),(2,'b'),(3,'c')]四、反转列表Python列表是一种有序的数据结构。因此,项目的顺序很重要。有时我们可能需要反转列表中的项目,这可以使用Python切片操作轻松完成。让我们用一个例子来尝试一下:original_list=[1,2,3,4,5]reversed_list=original_list[::-1]print(reversed_list)#Returns:[5,4,3,2,1]five.检查列表中的成员资格有时我们想查看某个项目是否存在于列表中。我们可以简单地通过使用in运算符来做到这一点。games=['Yankees','Yankees','Cubs','BlueJays','Giants']defisin(item,list_name):ifiteminlist_name:print(f"{item}在列表中!")else:print(f"{item}不在列表中!")isin('BlueJays',games)isin('Angels',games)#Returns#BlueJays在列表中!#天使不在名单上!6.Findthemostcommoniteminthelist如果你想在列表中找到最常见的项目。例如,您可能会在列表中记录正面和反面游戏的获胜者,并想知道哪一个获胜最多。games=['heads','heads','tails','heads','tails']items=set(games)print(max(items,key=games.count))让我们看看这段代码做了什么:我们定义了一个列表,其中包含五场正面或反面游戏的结果;我们定义列表中所有项目的集合。set()函数过滤掉列表中的重复项;最后,我们将max()应用于项目集,使用key参数作为集合中元素的最高计数。七、展开列表有时候我们会得到一个列表,里面包含了其他的列表,也就是表有表。您可以通过列表理解轻松地做到这一点!让我们试试看:nested_list=[[1,2,3],[4,5,6],[7,8,9]]flat_list=[iforjinnested_listforiinj]print(flat_list)#返回[1,2,3,4,5,6,7,8,9]8.检查唯一性如果需要检查列表中的所有项目是否唯一,可以使用集合的功能来实现!Python中的集合类似于列表(因为它是可变的和无序的),但它只能包含唯一的项目。为此,我们需要使用一个函数将列表转换为集合并比较两项的长度::list1=[1,2,3,4,5]list2=[1,1,2,3,4]defisunique(list):iflen(list)==len(set(list)):print('Unique!')else:print('NotUnique!')isunique(list1)isunique(list2)#返回#uniqueSex#非唯一来源网络,仅供学习使用,如有侵权请联系删除。学习Python的路上肯定会遇到困难,不要慌张,我这里有一套学习资料,包括40+电子书,800+教学视频,涉及Python基础、爬虫、框架、数据分析、机学习等等,别怕你学不会!https://shimo.im/docs/JWCghr8...《Python学习资料》关注公众号【蟒圈】,每日优质文章推送。