专业游戏门户,分享手游网游单机游戏百科知识攻略!

嗨游网
嗨游网

Python中的列表推导式详解

来源:小嗨整编  作者:小嗨  发布时间:2024-03-19 07:54
摘要:python中的列表推导式是一种方便快捷的语法,可以快速地生成列表。它的语法形式类似于数学中的集合推导式,语义也相似,因而易于理解和使用。下面将详细介绍python中的列表推导式。一、基本语法结构列表推导式的基本语法结构为:[expres...

python中的列表推导式是一种方便快捷的语法,可以快速地生成列表。它的语法形式类似于数学中的集合推导式,语义也相似,因而易于理解和使用。下面将详细介绍python中的列表推导式。

Python中的列表推导式详解

一、基本语法结构

列表推导式的基本语法结构为:

[ expression for item in iterable if condition ]

其中,expression表示参与列表生成的表达式,可包含变量、函数调用等操作;item表示生成列表中的元素;iterable表示可迭代的对象,例如列表、元组、集合等;if condition表示对条件的筛选,可以省略。

二、常见使用场景

1.生成整数列表

例如,生成1~10之间的整数列表可以使用以下代码:

num_list = [i for i in range(1,11)]print(num_list)
登录后复制

输出结果为:

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
登录后复制

此处使用range()函数生成一个1~10之间的整数迭代器,然后通过列表推导式将其中的元素逐一提取,并构成一个列表。

2.生成平方列表

例如,生成1~10之间的整数的平方列表可以使用以下代码:

square_list = [i**2 for i in range(1,11)]print(square_list)
登录后复制

输出结果为:

[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
登录后复制

3.过滤列表元素

例如,从一个字符串列表中筛选出长度超过3的字符串可以使用以下代码:

str_list = ['hello', 'world', 'python', 'list', 'comprehension', 'study']new_list = [s for s in str_list if len(s) > 3]print(new_list)
登录后复制

输出结果为:

['hello', 'world', 'python', 'comprehension', 'study']
登录后复制

此处使用if语句对元素进行条件筛选,只有长度大于3的字符串才能进入新的列表中。

4.多重循环

例如,生成1~9之间的所有乘积可以使用以下代码:

mul_list = [i*j for i in range(1,4) for j in range(1,4)]print(mul_list)
登录后复制

输出结果为:

[1, 2, 3, 2, 4, 6, 3, 6, 9]
登录后复制

此处通过两层循环实现了乘法操作,即i和j分别取1、2、3时,它们的乘积构成了列表中的元素。

三、嵌套列表推导式

有时候需要在生成一个列表时,对其中的元素进行更加复杂的操作,此时就可以使用嵌套列表推导式。嵌套列表推导式即在列表推导式的基础上再次嵌套列表推导式,其语法结构为:

[ expression for item in iterable if condition for sub_item in sub_iterable if sub_condition ]

其中,expression、item、iterable和condition的含义与上述基本语法结构中一致;sub_item表示在item遍历的基础上再次遍历的元素;sub_iterable表示sub_item的迭代对象;sub_condition表示对sub_item的筛选条件。

以下是几个常见的嵌套列表推导式的例子。

1.生成平方矩阵

例如,生成3×3的平方矩阵可以使用以下代码:

matrix = [[i*j for j in range(1,4)] for i in range(1,4)]for row in matrix:    print(row)
登录后复制

输出结果为:

[1, 2, 3][2, 4, 6][3, 6, 9]
登录后复制

此处使用两层嵌套推导式,外层推导式生成三个列表,内层推导式生成每个列表中的三个元素,从而构成了一个3×3的平方矩阵。

2.筛选奇偶数

例如,从一个整数列表中筛选出奇数和偶数分别构成两个列表可以使用以下代码:

num_list = [1,2,3,4,5,6,7,8,9,10]odd_list = [i for i in num_list if i%2 == 1]even_list = [i for i in num_list if i%2 == 0]print(odd_list)print(even_list)
登录后复制

输出结果分别为:

[1, 3, 5, 7, 9][2, 4, 6, 8, 10]
登录后复制

此处使用两个嵌套的列表推导式,分别筛选出原始列表中的奇数和偶数元素。

四、总结

列表推导式是Python语言的一项优秀的语法特性之一,它可以方便地生成各种类型的列表,同时也支持嵌套等高级特性。在实际编程中,学习和使用列表推导式可以大大提高代码的编写效率和可读性。

以上就是Python中的列表推导式详解的详细内容,更多请关注易企推科技其它相关文章!


本文地址:网络百科频道 https://www.eeeoo.cn/wangluo/1150946.html,嗨游网一个专业手游免费下载攻略知识分享平台,本站部分内容来自网络分享,不对内容负责,如有涉及到您的权益,请联系我们删除,谢谢!


网络百科
小编:小嗨整编
相关文章相关阅读
  • 梦幻西游副本攻略积分详细列表(梦幻西游副本等级要求)

    梦幻西游副本攻略积分详细列表(梦幻西游副本等级要求)

    梦幻西游副本攻略积分详细列表(梦幻西游副本等级要求)在梦幻西游中,副本是玩家们获取经验、装备和道具的重要途径。不同副本对应不同的等级要求,通过完成副本内的任务,玩家可以获得相应的积分,进而换取丰厚的奖励。梦幻西游副本攻略积分详细列表1.东海...

  • python菜鸟教程官网(python菜鸟教程100题)

    python菜鸟教程官网(python菜鸟教程100题)

    python菜鸟教程官网(python菜鸟教程100题)Python菜鸟教程官网是一个专注于Python编程语言学习的网站,旨在帮助编程初学者快速入门,掌握Python编程的基本知识和技巧。网站内容丰富,涵盖了Python基础语法、数据类型...

  • 魔兽世界字体设置在哪(魔兽世界字体设置方法详解)?

    魔兽世界字体设置在哪(魔兽世界字体设置方法详解)?

    魔兽世界字体设置在哪(魔兽世界字体设置方法详解)?在魔兽世界这款备受喜爱的大型多人在线角色扮演游戏中,玩家们可以通过各种方式来打造属于自己的独特风格,改变字体就是一种简单有效的方法,本文将详细介绍如何在魔兽世界中修改字体,让你的游戏体验更具...

  • python安装教程电脑版(python安装教程pycharm)

    python安装教程电脑版(python安装教程pycharm)

    python安装教程电脑版(python安装教程pycharm)对于新手想要入门学习Python编程,在没有人手把手教你的情况下,是很难快速掌握的。对此,我会详细地告诉你每一步骤的操作方法。话不多说,直接进入主题,怎么来安装python编程...

  • 菜鸟教程官网入口(菜鸟教程python在线编程)

    菜鸟教程官网入口(菜鸟教程python在线编程)

    菜鸟教程官网入口(菜鸟教程python在线编程)菜鸟教程提供各种方法API的使用与演示案例,如果你在学习或者开发过程中不清楚有什么方法或哪个方法如何使用的可以用它来进行查询。菜鸟教程官网入口:https://www.runoob.com/它...

  • 梦幻西游转区查询列表(梦幻西游转区查询费用)

    梦幻西游转区查询列表(梦幻西游转区查询费用)

    梦幻西游转区查询列表(梦幻西游转区查询费用)梦幻西游转区需要支付角色转移费用,费用为1200点仙玉。如果玩家返回角色曾经在的服务器费用为150点仙玉。通过藏宝阁进行角色交易后,会清除该角色返回曾经所在服务器列表,如再次进行角色转移会按付费转...

  • 王者荣耀怎么删除好友列表里的人(王者荣耀怎么删除好友彻底删除)?

    王者荣耀怎么删除好友列表里的人(王者荣耀怎么删除好友彻底删除)?

    王者荣耀怎么删除好友列表里的人(王者荣耀怎么删除好友彻底删除)?王者荣耀好友是分为三种的,一种是游戏好友,一种是微信好友,还有一种是QQ好友,现在王者荣耀拉黑删除好友都成了一个大问题,因为太难了,比较简单的是游戏好友,王者荣耀里加的好友,拉...

  • dnf熟练度等级划分(dnf熟练度等级列表在哪里看)?

    dnf熟练度等级划分(dnf熟练度等级列表在哪里看)?

    dnf熟练度等级划分(dnf熟练度等级列表在哪里看)?在dnf主界面,点击左上角的头像,进入角色信息界面。在角色信息界面,你可以看到角色昵称、等级、职业、战斗力、熟练度等级等信息。dnf等级划分8个层次。经历挑战者、熟练者、先驱者、高手、传...

  • 周排行
  • 月排行
  • 年排行

精彩推荐