【Python】Python系列教程-- Python3 推导式(七)

这篇具有很好参考价值的文章主要介绍了【Python】Python系列教程-- Python3 推导式(七)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

往期回顾:

  • Python系列教程–Python3介绍(一)
  • Python系列教程–Python3 环境搭建(二)
  • Python系列教程–Python3 VScode(三)
  • Python系列教程–Python3 基础语法(四)
  • Python系列教程–Python3 基本数据类型(五)
  • Python系列教程-- Python3 数据类型转换(六)

Python 推导式是一种独特的数据处理方式,可以从一个数据序列构建另一个新的数据序列的结构体。

Python 支持各种数据结构的推导式:

  • 列表(list)推导式
  • 字典(dict)推导式
  • 集合(set)推导式
  • 元组(tuple)推导式

列表推导式

列表推导式格式为:

[表达式 for 变量 in 列表] 
[out_exp_res for out_exp in input_list]

或者 

[表达式 for 变量 in 列表 if 条件]
[out_exp_res for out_exp in input_list if condition]
  • out_exp_res:列表生成元素表达式,可以是有返回值的函数。
  • for out_exp in input_list:迭代 input_list 将 out_exp 传入到 out_exp_res 表达式中。
  • if condition:条件语句,可以过滤列表中不符合条件的值。

过滤掉长度小于或等于3的字符串列表,并将剩下的转换成大写字母:

实例文章来源地址https://www.toymoban.com/news/detail-469269.html

>>> names = ['Bob','Tom','alice','Jerry','Wendy','Smith']
>>> new_names = [name.upper()for name in names if len(name)>3]
>>> print(new_names)
['ALICE', 'JERRY', 'WENDY', 'SMITH']

计算 30 以内可以被 3 整除的整数:

实例

>>> multiples = [i for i in range(30) if i % 3 == 0]
>>> print(multiples)
[0, 3, 6, 9, 12, 15, 18, 21, 24, 27]

字典推导式

字典推导基本格式:

{ key_expr: value_expr for value in collection }{ key_expr: value_expr for value in collection if condition }

使用字符串及其长度创建字典:

实例

listdemo = ['Google','Runoob', 'Taobao']
# 将列表中各字符串值为键,各字符串的长度为值,组成键值对
>>> newdict = {key:len(key) for key in listdemo}
>>> newdict
{'Google': 6, 'Runoob': 6, 'Taobao': 6}

提供三个数字,以三个数字为键,三个数字的平方为值来创建字典:

实例

>>> dic = {x: x**2 for x in (2, 4, 6)}
>>> dic
{2: 4, 4: 16, 6: 36}
>>> type(dic)
<class 'dict'>

集合推导式

集合推导式基本格式:

{ expression for item in Sequence }{ expression for item in Sequence if conditional }

计算数字 1,2,3 的平方数:

实例

>>> setnew = {i**2 for i in (1,2,3)}
>>> setnew
{1, 4, 9}

判断不是 abc 的字母并输出:

实例

>>> a = {x for x in 'abracadabra' if x not in 'abc'}
>>> a
{'d', 'r'}
>>> type(a)
<class 'set'>

元组推导式(生成器表达式)

元组推导式可以利用 range 区间、元组、列表、字典和集合等数据类型,快速生成一个满足指定需求的元组。

元组推导式基本格式:

(expression for item in Sequence )(expression for item in Sequence if conditional )

元组推导式和列表推导式的用法也完全相同,只是元组推导式是用 () 圆括号将各部分括起来,而列表推导式用的是中括号 [],另外元组推导式返回的结果是一个生成器对象。

例如,我们可以使用下面的代码生成一个包含数字 1~9 的元组:

实例

>>> a = (x for x in range(1,10))
>>> a
<generator object <genexpr> at 0x7faf6ee20a50>  # 返回的是生成器对象

>>> tuple(a)       # 使用 tuple() 函数,可以直接将生成器对象转换成元组
(1, 2, 3, 4, 5, 6, 7, 8, 9)

到了这里,关于【Python】Python系列教程-- Python3 推导式(七)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Python】Python系列教程-- Python3 迭代器与生成器(二十)

    往期回顾: Python系列教程–Python3介绍(一) Python系列教程–Python3 环境搭建(二) Python系列教程–Python3 VScode(三) Python系列教程–Python3 基础语法(四) Python系列教程–Python3 基本数据类型(五) Python系列教程-- Python3 数据类型转换(六) Python系列教程-- Python3 推导式(

    2024年02月08日
    浏览(64)
  • 【Python】Python进阶系列教程-- Python3 MySQL - mysql-connector 驱动(三)

    往期回顾: Python进阶系列教程-- Python3 正则表达式(一) Python进阶系列教程-- Python3 CGI编程(二) 本章节我们为大家介绍使用 mysql-connector 来连接使用 MySQL, mysql-connector 是 MySQL 官方提供的驱动器。 我们可以使用 pip 命令来安装 mysql-connector: 使用以下代码测试 mysql-connector

    2024年02月09日
    浏览(45)
  • 「Python系列」Python推导式

    Python推导式是一种简洁且高效的代码编写方式,可以在一行代码中完成常见的循环和集合操作。Python推导式包括列表推导式、字典推导式、集合推导式和生成器推导式。 列表推导式:可以根据一个已有的列表生成一个新的列表。 字典推导式:可以根据一个已有的字典生成一

    2024年02月19日
    浏览(21)
  • 菜鸟教程《Python 3 教程》笔记(12):推导式

    笔记带有个人侧重点,不追求面面俱到。 出处: 菜鸟教程 - Python3 推导式 扩展阅读: Python 中的列表推导式 参考 12.1 列表推导式,将 [] 替换为 {} 。 注意: 元组推导式返回的结果是一个生成器对象。

    2024年02月10日
    浏览(45)
  • Python3 高级教程 | Python3 正则表达式(一)

    目录 一、Python3 正则表达式 (一)re.match函数 (二)re.search方法 (三)re.match与re.search的区别 二、检索和替换 (一)repl 参数是一个函数  (二)compile 函数  (三)findall (四)re.finditer (五)re.split 三、正则表达式对象 re.RegexObject re.MatchObject  四、正则表达式修饰符 - 可

    2024年02月13日
    浏览(58)
  • Python3数据科学包系列(三):数据分析实战

    Python3中类的高级语法及实战 Python3(基础|高级)语法实战(|多线程|多进程|线程池|进程池技术)|多线程安全问题解决方案 Python3数据科学包系列(一):数据分析实战 Python3数据科学包系列(二):数据分析实战 Python3数据科学包系列(三):数据分析实战 国庆中秋宅家自省: Python在Excel中绘图

    2024年02月07日
    浏览(48)
  • Python3.9.0安装教程

    一、下载安装步骤 1.官网下载地址:https://www.python.org/downloads/ 下载Python3.9.0安装包 (最新的是3.10.6,这里下载的3.9.0版本,滑到下面下载特定版本) ps:本机系统:Windows 10 (64位),去我的电脑查看,如图 2.选择电脑对应的版本下载 3.下载完成,开始安装 在安装界面你有两个

    2024年02月17日
    浏览(47)
  • Python下载安装教程Python3.7版本

    https://www.python.org/ 这里我选择的是Python3.7.2 点击您需要的版本进行下载,这里我选择的是Python3.7.2 进入Python3.7.2向下翻到这个位置 选择第七个下载(尽量不要选择zip的版本比如第六个,因为下载之后有时会出现很多dll 文件丢失的情况,会很麻烦,所以建议选择Windows x86-64 ex

    2023年04月17日
    浏览(77)
  • 【小5聊】Python3 使用selenium模块实现简单爬虫系列一

    第一次听说Python还是在工作的时候,还是一位女生在用,当时她说可以用来处理excel文档,特别是一些统计分析。第二次让我真正进入python世界,还是在一次C站举办的大赛上。聊聊你是因为什么机缘巧合进入到python圈的呢?不妨留言说说 本期主要是聊聊,我接触到的selenium模

    2024年02月06日
    浏览(68)
  • python3.9下载和安装教程,python3.9下载pygame2.4.0

    大家好,小编来为大家解答以下问题,python3.9下载哪个版本的tensorflow,python3.9下载哪个版本pytorch,今天让我们一起来看看吧! 目录 一、Python 下载 二、Python 安装 三、Python 配置 四、Python 验证 官网下载地址:Python Releases for Windows | Python.org (1)找到已经下载好的 exe 安装包

    2024年04月25日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包