Python中的列表是我们很常见的数据结构之一,也是很强大的数据结构之一!Python列表功能非常丰富,并且具有很多隐藏的技巧没有被发现。

一、使用Python过滤列表

1.使用Filter()函数

filter()函数采用两个参数:函数和可迭代项。 在这种情况下,我们将定义一个函数并过滤一个列表。

让我们用一个例子来尝试一下!我们将从列表开始,并过滤出所有小于3的项:

original_list = [1,2,3,4,5]

def filter_three(number):

returnnumber > 3

filtered = filter(filter_three, original_list)

filtered_list = list(filtered)

print(filtered_list)

# Returns[4,5]

让我们看看这里发生了什么:

我们定义了原始列表

然后定义一个接受参数(“ number”)的函数。如果数字大于3,函数将返回True。

我们定义了一个应用filter函数的项(“ filtered”)。我们的项已筛选,是筛选对象。

最后,我们创建“ filtered_list”,将列表函数替换为filtered对象。

2.具有列表理解

类似地,我们可以用列表理解过滤列表。记住,列表理解是定义和修改列表非常简单快捷的方式。

让我们看看如何通过列表理解来完成前面的任务:

original_list = [1,2,3,4,5]filtered_list = [number for number in original_list if number > 3]print(filtered_list)# Return [4,5]

从这两个示例中我们可以看出,列表理解是一种更简单,更快捷的过滤列表方法。

二、修改列表

1.使用Map()函数

Python Map函数允许我们将函数应用于可迭代对象中的每个项。

假如我们有一个列表,想返回每个数字的平方。我们可以使用map()函数来实现这一点。让我们看一下具体操作:

original_list = [1,2,3,4,5]

def square(number):

returnnumber ** 2

squares = map(square, original_list)

squares_list = list(squares)

print(squares)

# Returns[1, 4, 9, 16, 25]

让我们探讨一下这里发生了什么:

首先,我们定义了原始列表和一个返回其参数平方(“number”)的函数。

然后,我们创建一个名为“squares”的新变量,它是map函数的结果,函数和原始列表作为其参数。

最后,我们创建另一个新变量,将list函数应用于squares变量。

这个方法有点复杂!接下来让我们看看清单理解!

2.具有列表理解

我们可以使用列表理解来修改列表项。这甚至是一个更容易和更优雅的方式来编写我们的代码。

让我们尝试一下!

original_list = [1,2,3,4,5]

squares_list = [number ** 2 fornumberinoriginal_list]

print(squares_list)

# Returns[1,4,9,16,25]

三、将列表与Zip()函数合并

在某些情况下,可能需要合并两个或多个列表。这就是zip()函数的作用:在每个索引处创建一个包含列表对应元素的对象。

让我们用一个例子来尝试一下:

original_list = [1,2,3,4,5]

reversed_list = original_list[::-1]

print(reversed_list)

# Returns: [5,4,3,2,1]

四、颠倒列表

Python列表是有序的数据结构。因此,项目的顺序很重要。有时我们可能需要颠倒列表中的项,这可以使用Python切片操作轻松完成。

让我们用一个例子来尝试一下:

original_list = [1,2,3,4,5]reversed_list = original_list[::-1]print(reversed_list)# Returns: [5,4,3,2,1]

五、检查列表中的成员身份

有时我们想查看列表中是否存在某个项。

我们只需使用in运算符即可完成此操作。

games = ['Yankees','Yankees','Cubs','Blue Jays','Giants']

def isin(item, list_name):

if item inlist_name: print(f"{item} is in the list!")

else: print(f"{item} is not in the list!")

isin('Blue Jays', games)

isin('Angels', games)

# Returns

#Blue Jays在名单上!

#Angels不在名单上!

六、查找列表中最常见的项

如果你想在列表中找到最常见的项。例如,你可能在列表中记录了正反面游戏的获胜者,并且想知道哪个赢得最多。

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 = [i forjinnested_listforiinj]

print(flat_list)

# Returns[1, 2, 3, 4, 5, 6, 7, 8, 9]

八、检查唯一性

如果需要检查列表中的所有项是否唯一,则可以使用集合的功能来完成此操作!

Python中的集合类似于列表(因为它是可变且无序的),但是它只能包含唯一的项。

为此,我们需要使用一个函数将列表转换为一个集合,并比较两个项的长度::

list1 = [1,2,3,4,5]

list2 = [1,1,2,3,4]

def isunique(list):

if len(list) == len(set(list)):

print('Unique!')

else: print('Not Unique!')

isunique(list1)

isunique(list2)

# Returns

# 唯一性

# 不唯一

--END--

希望你学到了以上关于列表的新知识,以及如何以不同的方式运用起来!

【编辑推荐】

【责任编辑:华轩 TEL:(010)68476606】

点赞 0

python列表代码_8种高级的Python列表使用技巧,都给你整理好啦(附实操代码)...相关推荐

  1. c++双向列表释放_8种高级的Python列表使用技巧,你都会了吗?

    Python中的列表是我们最常见的数据结构之一,也是最强大的数据结构之一!Python列表功能非常丰富,并且具有很多隐藏的技巧没有被发现. 使用Python过滤列表 1.使用Filter()函数 fi ...

  2. python end用法_8种高级的Python列表使用技巧,都给你整理好啦(附实操代码)

    Python中的列表是我们很常见的数据结构之一,也是很强大的数据结构之一!Python列表功能非常丰富,并且具有很多隐藏的技巧没有被发现. 一.使用Python过滤列表 1.使用Filter()函数 ...

  3. mybatis通用mapper_全网最全Mapper解析,附实操代码帮你更好理解

    今天给大家介绍一位老朋友 当你第一次接触Java开发的时候,这个老朋友就和你形影不离,当你要进行ORM的时候,单表的增删改查,这位老朋友给了你极大的帮助,不知道你想到他了吗?对,这就是通用mapper ...

  4. python朋友圈点赞统计_Python数据分析实战案例:统计分析微信朋友圈数据(附实操视频)...

    原标题:Python数据分析实战案例:统计分析微信朋友圈数据(附实操视频) 本文内容将通过一个具体实例讲解将朋友圈数据导出为JSON文件的方法,并介绍使用Python统计分析JSON数据的过程. 注: ...

  5. 一篇文章带你快速入门JavaScript(实操代码)

    目录 一.前提简介 1.1什么是JavaScript 1.2JavaScript和Java语言的区别 1.3Html.Css和Javascript 1.4Javascript作用 二.实操代码 2.1 ...

  6. CSS中定位(带你实操代码掌握固定定位、绝对定位与相对定位(子绝父相))

    https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注! 欢迎关注微信公众号:宝藏女孩的成长日记 如有转载,请注明出处(如不注明,盗者必究) 目录 固定定位 绝 ...

  7. python 线性回归函数_8种用Python实现线性回归的方法,究竟哪个方法最高效?

    大数据文摘作品 作者:TirthajyotiSarkar 编译:丁慧.katherine Hou.钱天培 说到如何用Python执行线性回归,大部分人会立刻想到用sklearn的linear_mode ...

  8. python最强脚本工具_8种常用的Python工具

    Python是一种开源的编程语言,可用于Web编程.数据科学.人工智能以及许多科学应用.学习Python可以让程序员专注于解决问题,而不是语法.由于Python相对较小,且拥有各式各样的工具,因此比J ...

  9. python开发的运维工具_8种常用的Python工具

    Python是一种开源的编程语言,可用于Web编程.数据科学.人工智能以及许多科学应用.学习Python可以让程序员专注于解决问题,而不是语法.由于Python相对较小,且拥有各式各样的工具,因此比J ...

最新文章

  1. c语言的一些易错知识积累
  2. SAP MM 明明有维护源清单,还是不能下PO?
  3. (How to)WordPress与Windows Live Writer整合
  4. Zabbix数据库需要多大硬盘
  5. +new Date()的用法
  6. ubuntu在线安装和卸载libusb
  7. 笨办法学习@ConditionalOnProperty 烧脑配置记录
  8. Oracle数据库里面查询字符串类型的字段不为空和为空的SQL语句:
  9. java向上向下取整与四舍五入
  10. mysql 前10条 平均数_mysql – 每组最新N条记录的平均值
  11. error C1128: 节数超过对象文件格式限制: 请使用 /bigobj 进行编译
  12. Android面试问题收集总结
  13. 解决Server2008下远程桌面连接“由于没有终端服务器许可证服务器可以提供许可证”
  14. BAT的医疗春秋大梦
  15. 淘宝API接口(item_search-按关键字搜索淘宝商品 )
  16. POJ 1606 Jugs
  17. 网页加入动态动漫人物
  18. 对不起,我轻视了google的公关能力
  19. (2022年12月最新)SpringBoot远程代码执行whitelabel error page SpEL RCE漏洞复现
  20. 如何解决刷新一瞬间 出现样式未加载完 或者 出现VUE代码问题

热门文章

  1. android监控指纹信息变化,android监听指纹变化(解决反射思路在android10不生效的问题)...
  2. 服务器怎么禁止iis静态文件,如何禁止IIS缓存静态文件
  3. android baseactivity,Android应用开发Android通过BaseActivity获取到当前启动的Activity名称...
  4. pdo 参数化查询 mysql函数_PDO笔记之参数化查询
  5. linux 实验 ps,Linux实验室:监控命令iostat与ps_服务器x86服务器-中关村在线
  6. android蓝牙pair,Android向更多蓝牙设备开放Fast Pair功能 配对更轻松了
  7. 可消费消息数量_17 个方面,综合对比 主流消息队列
  8. java runtime 异常_Java中RuntimeException和Exception
  9. 线段分割法实现微信抢红包
  10. C++实现一个http服务器