首页 > 编程语言 >轻松拿捏python推导式

轻松拿捏python推导式

时间:2024-07-29 19:24:46浏览次数:14  
标签:10 推导 python 列表 拿捏 range squares 字典

推导式定义

推导式 comprehensions(又称解析式),是 Python 的一种独有特性。推导式最主要的特点就是可以从一个数据序列构建另一个新的数据序列。在Python 中目前常用的推导式有列表推导式、字典推导式和集合推导式


列表推导式(List Comprehensions)

列表推导式是我们最常使用的,因为列表是我们最常使用的,其基本的语法示意如下:

  • [表达式 for 变量 in 列表]
  • [表达式 for 变量 in 列表 if 条件]
# 创建一个包含平方数的列表
squares = [x**2 for x in range(10)]

# 可以添加条件筛选
even_squares = [x**2 for x in range(10) if x % 2 == 0]

集合推导式(Set Comprehensions)

集合我们都很了解,就是一个没有重复元素的汇集,跟列表和字典推导式类似,其基本的语法形式可以表示为:

{ 表达式for 项in 序列if 条件}
我们先看看集合“{}”,因为其是不重复的,因此如果有语句:print({1,2,3,4,4,5})会输出:1,2,3,4,5,重复的4将会被删除。

# 创建一个包含平方数的集合
squares_set = {x**2 for x in range(10)}

# 可以添加条件筛选
even_squares_set = {x**2 for x in range(10) if x % 2 == 0}

字典推导式(Dictionary Comprehensions)

学习了列表推导式以后,学习字典推导式就没什么困难了,字典推导式语法差不多,只不过我们使用”{}”产生的是字典而已,唯一要注意的就是在字典中有键和值两个关键的属性,仿似列表推导式,那么其基本的语法可以被写作这样:

{ 键:值 for 键,值 in 数据结构}
{ 键:值 for 键 in 数据结构1 for 值 in 数据结构2 }

# 创建一个包含数字和其平方的字典
square_dict = {x: x**2 for x in range(5)}

# 可以添加条件筛选
even_square_dict = {x: x**2 for x in range(10) if x % 2 == 0}

标签:10,推导,python,列表,拿捏,range,squares,字典
From: https://blog.csdn.net/2302_77361311/article/details/140778914

相关文章

  • python面向对象编程题——有声书系统
    设计一个图书管理系统,基类为类Book,要求有书名和作者属性,由Book类派生子类AudioBook(有声书,需要具有演说者属性),对于Book和AudioBook进行合理的属性及行为的抽象,编写图书管理类用于管理图书以及有声图书classBook:def__init__(self,title,author):se......
  • 基于python语言的新闻推荐系统的设计与实现
    目录摘要1绪论1.1选题背景与意义1.2国内外研究现状1.3论文结构与章节安排2系统分析2.1可行性分析2.2系统流程分析2.2.1系统开发流程2.2.2用户登录流程2.2.3系统操作流程2.2.4添加信息流程2.2.5修改信息流程2.2.6删除信息流程2.3 系统......
  • Python装饰器实现Hook类
    背景最近有个新的需求是使用Redmine进行一些提交前后的处理,备忘下一些思路实现思路为了统一代码的路径以及调用方式,封装了一个Hook类,按理来说是可以对所有类似的代码使用的,这里使用了Python装饰器,统一对同一个命名类的进行处理,相当于定义了函数的路由核心代码见下:Hook.pyfro......
  • Python里lambda怎么使用呢?
    `lambda`函数在Python中是一种简洁定义单行小函数的方式。它允许你快速定义一个简单的、可以在需要函数对象的地方使用的匿名函数。`lambda`函数的一般语法如下: ```pythonlambda参数:表达式``` 这里,`参数`是传递给函数的参数,可以有一个或多个,通过逗号分隔;`表达式`......
  • 【python】容器之字典(dict)
    字典(dict)字典是一种可变容器模型,且可存储任意类型对象。字典的每个键值key:value对用冒号分割,每个键值对之间用逗号分割,整个字典包括在花括号{}中,格式如下所示:d={key1:value1,key2:value2}创建字典:Python中创建字典可以使用以下几种方法:1使用花括号{}......
  • 《最新出炉》系列入门篇-Python+Playwright自动化测试-57- 上传文件 - 番外篇
    1.简介前边的三篇文章基本上对文件上传的知识介绍和讲解的差不多了,今天主要是来分享宏哥在文件上传的实际操作中发现的一个问题:input控件和非input控件的上传API对其都可以上传成功。废话不多说直接进入正题。2.项目实战宏哥之前在讲解和分享Java+selenium系列时,将其划分为非in......
  • 【Python机器学习】朴素贝叶斯——使用朴素贝叶斯过滤垃圾邮件
    使用朴素贝叶斯解决一些现实生活中的问题时,需要先从文本内容中得到字符串列表,然后生成词向量。使用朴素贝叶斯对电子邮件进行分类的过程:1、收集数据:提供文本文件2、准备数据:将文本文件解析成词条向量3、分析数据:检查词条确保解析的正确性4、训练算法5、测试算法:构建一个......
  • Python 在PDF中添加、替换、或删除图片
    PDF文件中的图片可以丰富文档内容,提升用户的阅读体验。除了在PDF中添加图片外,有时也需要替换或删除其中的图片,以改进视觉效果或更新信息。本文将提供以下三个示例,介绍如何使用Python操作PDF文件中的图片:Python在PDF中添加图片Python替换PDF中的图片Python删除PDF中的图片......
  • 学精python selenium自动化只要读完这一篇
    第一篇基础案例篇大牛测试出品,视频/代码项目案例请联系作者:2574674466前言:●内卷时代测试人员如何面对?逃避还是提高自己?●为什么要学习selenium?●内功如何修炼学习目标:●学会selenium环境搭建、不同浏览器驱动●虚拟环境与代码异常原因分析●十六大元素定位......
  • [附开题]flask框架的校园疫情安全管理系统设计与实现tsckj(源码+论文+python)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景自新冠疫情全球爆发以来,校园作为高密度、高流动性的集体生活环境,其疫情防控工作面临着前所未有的挑战。学校师生众多,活动频繁,一旦发生疫情......