Python基础总结(九)之推导式

news2025/4/22 6:22:38

文章目录

    • 一、列表推导式
      • 1.1 列表推导式的格式
      • 1.2 列表推导式的注意事项
      • 1.3 列表推导式示例
    • 二、 字典推导式
      • 2.1 字典推导式格式
      • 2.2 字典推导式注意事项
      • 2.3 字典推导式示例
    • 三、 元组推导式
      • 3.1 元组推导式格式
      • 3.3 元组推导式示例

Python中的推导式有列表推导式,字典推导式和元组推导式,其中列表推导式使用的频率较高,其次为字典,元组推导式不经常用。

推导式是Python中用简明扼要的方式创建数据结构的方法,只需一行就可以完成多行的任务。

一、列表推导式

列表推导式就是输出的类型为列表形式的推导式。

1.1 列表推导式的格式

[变量 for 变量 in 可迭代对象]

示例:创建一个1-10的列表
原始的方法:

list_one = []
for i in range(1, 11):
    list_one.append(i)
print(list_one)
# [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

上述的创建方法需要三行,才能完成创建。
使用列表推导式:

list_one = [i for i in range(1, 10)]
print(list_one)
# [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

只需一行就可以完成列表的创建。

示例:求1-10的平方的列表

list_one = [i*i for i in range(1, 10)]
print(list_one)
# [1, 4, 9, 16, 25, 36, 49, 64, 81]

1.2 列表推导式的注意事项

1、推导式中的in后面一定是可迭代的对象。
2、推导式的执行顺序是从左到右,语句之间为嵌套关系。

1.3 列表推导式示例

示例1:求1-10之间的奇数

list_one = [i for i in range(1, 10) if i % 2 != 0]
print(list_one)
# [1, 3, 5, 7, 9]

这篇文章中也用到了列表推导式,可以参考下:python爬虫之爬取网站小说

二、 字典推导式

字典推导式同列表推导式大致相同,不同的是字典推导式是以键值对形式出现

2.1 字典推导式格式

{:for 变量 in 可迭代对象}

2.2 字典推导式注意事项

1、字典中的键是唯一的,不可重复。
2、字典中的值不是唯一的,可以重复

2.3 字典推导式示例

lt = ["tom", "jerry", "john", "merry", "ali"]
dt = {"name"+str(lt.index(x)+1): x for x in lt}
print(dt)
lt = ["tom", "male", "170"]
data = ["name", "gender", "height"]
dt = {x: y for x, y in zip(data, lt)}
print(dt)
# {'name': 'tom', 'gender': 'male', 'height': '170'}

三、 元组推导式

元组推导式同列表推导式一样,只不过将方括号换成圆括号。

3.1 元组推导式格式

(变量 for 变量 in 可迭代对象)

3.3 元组推导式示例

tp = (i for i in range(1, 10))
print(tuple(tp))
# (1, 2, 3, 4, 5, 6, 7, 8, 9)
tp = (i for i in range(1, 10) if i % 2 == 0)
print(tuple(tp))
# (2, 4, 6, 8)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2339903.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[免费]SpringBoot+Vue博物馆(预约)管理系统【论文+源码+SQL脚本】

大家好,我是java1234_小锋老师,看到一个不错的SpringBootVue博物馆(预约)管理系统,分享下哈。 项目视频演示 【免费】SpringBootVue博物馆(预约)管理系统 Java毕业设计_哔哩哔哩_bilibili 项目介绍 随着计算机科学技术的日渐成熟&#xff…

【python】pyCharm常用快捷键使用-(2)

pyCharm常用快捷键使用 快速导入任意类 【CTRLALTSPACE】代码补全【CTRLSHIFTENTER】代码快速修正【ALTENTER】代码调试快捷键

机器视觉lcd屏增光片贴合应用

在现代显示制造领域,LCD屏增光片贴合工艺堪称显示效果的"画龙点睛"之笔。作为提升屏幕亮度、均匀度和色彩表现的关键光学组件,增光片的贴合精度直接影响着终端用户的视觉体验。传统人工贴合方式难以满足当前超窄边框、高分辨率显示屏的严苛要求…

VScode-py环境

settings.json {"git.ignoreLimitWarning": true,"code-runner.runInTerminal": true,"code-runner.executorMap": {"python": "python3"} } 第二句话保证在终端里面进行IO 第三句话保证python3的用户不会执行python关键…

用键盘实现控制小球上下移动——java的事件控制

本文分享Java的一个有趣小项目,实现用键盘控制小球的移动 涉及java知识点:Swing GUI框架,绘图机制,事件处理,焦点控制 1.编写窗口和面板 (1.)定义面板类 Panel 继承自Java 自带类JPanel (2.)定义窗口类 window 继承…

《马尼拉》桌游期望计算器

《马尼拉》桌游期望计算器:做出最明智的决策 注:本项目仍在开发验证中,计算结果可能不够准确,欢迎游戏爱好者提供协助! 在线使用 | GitHub 项目简介 马尼拉期望计算器是一个基于 Vue 3 Vite 开发的网页应用&#xff…

动态LOD策略细节层级控制:根据视角距离动态简化远距量子态渲染

动态LOD策略在量子计算可视化中的优化实现 1. 细节层级控制:动态简化远距量子态渲染 在量子计算的可视化中,量子态通常表现为高维数据(如布洛赫球面或多量子比特纠缠态)。动态LOD(Level of Detail)策略通过以下方式优化渲染性能: 距离驱动的几何简化: 远距离渲染:当…

线程池的介绍

目录 一、什么是线程池 二、线程池的详细内容 三、线程池的简化 一、什么是线程池 提到线程池,我们可能想到 常量池,可以先来说说常量池: 像是字符串常量,在Java程序最初构建的时候,就已经准备好了,等程…

安恒安全渗透面试题

《网安面试指南》https://mp.weixin.qq.com/s/RIVYDmxI9g_TgGrpbdDKtA?token1860256701&langzh_CN 5000篇网安资料库https://mp.weixin.qq.com/s?__bizMzkwNjY1Mzc0Nw&mid2247486065&idx2&snb30ade8200e842743339d428f414475e&chksmc0e4732df793fa3bf39…

计算机是如何工作的(上)

对于学习JavaEE初阶为什么要知道计算机是如何工作的,是因为在未来我们写代码的时候,会出现一些bug,而在代码层面是看不出来的,所以我们需要了解一些关于计算机内部是如何工作的,从而提高代码的健壮度。 计算机的组成&…

基础服务系列-Windows10 安装AnacondaJupyter

下载 https://www.anaconda.com/products/individual 安装 安装Jupyter 完成安装 启动Jupyter 浏览器访问 默认浏览器打开,IE不兼容,可以换个浏览器 修改密码 运行脚本

Kubernetes架构介绍

实验环境 安装好k8s集群 一、kubernetes组件构成 1、架构图 2、组件介绍 使用以下命令查看相关资源 kubectl get nodes 查看群集节点 kubectl get ns 查看名称空间 kubectl get pod -A …

远程服务器的mysql连接不上,问题出在哪里

使用本地ideal测试连接报错记录 排查 检查mysql服务是否正常,输入命令systemctl status mysql查看 检查端口netstat -plnt | grep mysql 最后检查服务器的防火墙设置 我以为在服务器厂商的控制面板设置放行规则就行,导致一直无法排查出问题,最后才发现由…

Java高频面试之并发编程-04

hello啊,各位观众姥爷们!!!本baby今天来报道了!哈哈哈哈哈嗝🐶 面试官:调用 start()方法时会执行 run()方法,那为什么不直接调用 run()方法? 多线程中调用 start() 方法…

【第16届蓝桥杯软件赛】CB组第一次省赛

个人主页:Guiat 归属专栏:算法竞赛 文章目录 A. 移动距离(5分填空题)B. 客流量上限(5分填空题)C. 可分解的正整数D. 产值调整E. 画展布置F. 水质检测G. 生产车间H. 装修报价 正文 总共10道题。 A. 移动距离…

云原生--基础篇-2--云计算概述(云计算是云原生的基础,IaaS、PaaS和SaaS服务模型)

1、云计算概念 云计算是一种通过互联网提供计算资源(包括服务器、存储、数据库、网络、软件等)和服务的技术模式。用户无需拥有和维护物理硬件,而是可以根据需要租用这些资源,并按使用量付费。 2、云计算特点 (1&am…

vllm+vllm-ascend本地部署QwQ-32B

1 模型下载 可按照此处方法下载预热后的模型,速度较快(推荐artget方式) https://mirrors.tools.huawei.com/mirrorDetail/67b75986118b030fb5934fc7?mirrorNamehuggingface&catalogllms或者从hugging face官方下载。 2 vllm-ascend安…

栈和队列--数据结构初阶(2)(C/C++)

文章目录 前言理论部分栈的模拟实现STL中的栈容器队列的模拟实现STL中的队列容器 作业部分 前言 这期的话会给大家讲解栈和队列的模拟实现和在STL中栈和队列怎么用的一些知识和习题部分(这部分侧重于理论知识,习题倒还是不难) 理论部分 栈的模拟实现 typedef int…

C++常用函数合集

万能头文件&#xff1a;#include<bits/stdc.h> 1. 输入输出流&#xff08;I/O&#xff09;函数 1.1cin 用于从标准输入流读取数据。 1.2cout 用于向标准输出流写入数据。 // 输入输出流&#xff08;I/O&#xff09;函数 #include <iostream> using namespace…

OpenGL shader开发实战学习笔记:第十二章 深入光照

1. 深入光照 1.1. 平行光 我们在前面的章节中&#xff0c;已经介绍了平行光的基本原理和实现步骤 平行光的基本原理是&#xff0c;所有的光都从同一个方向照射到物体上&#xff0c;这个方向就是平行光的方向。 1.2. 点光源 点光源的基本原理是&#xff0c;所有的光都从一个…