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

一、使用Python过滤列表

1.使用Filter()函数

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

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

original_list = [1,2,3,4,5]def filter_three(number):  return number > 3filtered = filter(filter_three, original_list)filtered_list = list(filtered)print(filtered_list)# Returns [4,5]

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

  1. 我们定义了原始列表
  2. 然后定义一个接受参数(“ number”)的函数。如果数字大于3,函数将返回True。
  3. 我们定义了一个应用filter函数的项(“ filtered”)。我们的项已筛选,是筛选对象。
  4. 最后,我们创建“ 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):  return number ** 2squares = 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 for number in original_list]print(squares_list)# Returns [1,4,9,16,25]

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

在某些情况下,可能需要合并两个或多个列表。这就是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]

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

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

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

games = ['Yankees', 'Yankees', 'Cubs', 'Blue Jays', 'Giants']def isin(item, list_name):  if item in list_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))

让我们看看这段代码做什么:

  1. 我们用五个正面或反面游戏的结果来定义一个列表;
  2. 我们定义了列表中所有项的集合。set()函数过滤掉了列表中的重复项;
  3. 最后,我们将max()应用于项目集,并使用key参数作为集合中元素的最高计数。

七、展开列表

有时我们会得到一个列表,其中包含其他列表,也就是表中有表。你可以使用列表理解轻松做到这一点!

让我们尝试一下:

nested_list = [[1,2,3],[4,5,6],[7,8,9]]flat_list = [i for j in nested_list for i in j]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--

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

你也可以关注我们的公众号:为AI呐喊(weainahan),领取更多Python学习资料

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

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

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

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

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

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

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

  4. python如何将两个list合并成字典_怎么把两个列表合并成字典 论Python怎样将两个list合并为一个字典...

    Python怎样把2个列表合成为一个字典? 怎样把2个列表合成一个字典里了?如果你从一开始就选择低下头的话你就可以一直低着头.可是如果你一开始选择了昂着头的话你就永远不能低头了.荣辱说到底只是一瞬间的 ...

  5. Python除法保留两位小数点(三种方法实现)

    Python除法保留两位小数点(三种方法实现) 前言序锦 学过编程我们都知道,无论什么语言,其实都是相通的,,当我们学会了并掌握好了一种语言后,我们再去了解另外一种语言,其实就很容易了,今天我们就来一 ...

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

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

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

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

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

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

  9. 下列哪种不是python元组的定义方式_下列哪种不是Python元组的定义方式? ( )_学小易找答案...

    [多选题]树木的生态习性中气候主要是指 四大因子 [判断题]杜鹃花为典型的酸性土植物 [单选题]以下关于安全目标的考评,不恰当的做法有 [单选题]选择制造电缆的绝缘材料时,希望材料的相对介电系数( ) ...

  10. 重置已清账项目及两种不同重置方式(只重置、重置并冲销)介绍和实操-FBRA

    文章目录 一.重置已清账项目介绍 1.1 重置方式:只重置 1.2 重置方式:重置并冲销 二.业务实操 2.1 验证是否可以直接冲销-FB08 2.2 重置方式:只重置 2.3 重置方式:重置并冲销 ...

最新文章

  1. 我们从那里来—子宫日记 Womb
  2. R语言配置可视化内容中的字体为斜体(italic)实战:标题斜体、轴标签斜体、文本内容斜体、或者部分内容斜体
  3. 王艳 201771010127《面向对象程序设计(java)》第十七周学习总结
  4. 2010考研全程学习规划简案【推荐】
  5. 栈的基础概念与经典题目(Leetcode题解-Python语言)
  6. hdu4554 A Famous Game 概率期望
  7. VisualStudioAddIn2017.vsix的下载安装和使用
  8. 微博feed系统的push和pull模式和时间分区拉模式架构探讨
  9. The 6th Zhejiang Provincial Collegiate Programming Contest-ProblemA:Second-price Auction
  10. ubuntu16.04安装teamviewer12
  11. python内建函数是什么_python适用的内建函数
  12. RpcOrtho failed: An unknown process erroroccurred.
  13. 救急的戴尔Latitude 10商用平板电脑
  14. php bt种子转换电驴地址,bt转换ed2k_BT文件转磁力链接工具 BT种子文件转换成ed2k链接...
  15. 自己的旧手机做html服务器,旧手机改座机_怎么将手机改成为座机
  16. echarts 柱状图颜色设置
  17. 使用 DISM 工具检查并修复 Windows 系统文件
  18. java编写数独_简单实现java数独游戏
  19. 计算机网络软件系统是什么结构,计算机软件系统的组成是什么?
  20. 【数据库】数据库期末考试复习试题与答案

热门文章

  1. MATLAB一句总结
  2. Spring集成Quartz定时任务框架介绍和Cron表达式详解
  3. 《马克思主义哲学原理》考点知识串讲-自考
  4. 24.TCP/IP 详解卷1 --- TCP 的未来和性能
  5. 31. HTTP 与 HTTPS 区别
  6. 防止用户直接访问url
  7. 河南计算机考试照片要求,2020年河南地区国考照片处理工具使用流程详解(2)
  8. QAliber - 介绍一款开源的GUI自动化测试工具
  9. 边界安全 - CDN/DMZ/网络协议
  10. Mysql问题1862