【Python】 列表解析 语法 实例展示 说明统统一顿明白!!!

news2024/11/26 8:29:07

列表解析

根据已有列表,高效创建新列表的方式。

列表解析是Python迭代机制的一种应用,它常用于实现创建新的列表,因此用在[]中。

语法:

[expression for iter_val in iterable]

[expression for iter_val in iterable if cond_expr]

实例展示:

 1 要求:列出1~10所有数字的平方
 2 ####################################################
 3 1、普通方法:
 4 >>> L = \[\]
 5 >>> for i in range(1,11):
 6 ...     L.append(i\*\*2)
 7 ... 
 8 >>> print L
 9 \[1, 4, 9, 16, 25, 36, 49, 64, 81, 100\]
10 ####################################################
11 2、列表解析
12 >>>L = \[ i\*\*2 for i in range(1,11)\]
13 >>>print L
14 \[1, 4, 9, 16, 25, 36, 49, 64, 81, 100\]
 1 要求:列出1~10中大于等于4的数字的平方
 2 ####################################################
 3 1、普通方法:
 4 >>> L = \[\]
 5 >>> for i in range(1,11):
 6 ...     if i >= 4:
 7 ...         L.append(i\*\*2)
 8 ... 
 9 >>> print L
10 \[16, 25, 36, 49, 64, 81, 100\]
11 ####################################################
12 2、列表解析
13 >>>L = \[ i\*\*2 for i in range(1,11) if i >= 4 \]
14 >>>print L
15 \[16, 25, 36, 49, 64, 81, 100\]
 1 要求:列出1~10所有数字的平方除以2的值
 2 ####################################################
 3 1、普通方法
 4 >>> L = \[\]
 5 >>> for i in range(1,11):
 6 ...     L.append(i\*\*2/2)
 7 ... 
 8 >>> print L
 9 \[0, 2, 4, 8, 12, 18, 24, 32, 40, 50\]
10 ####################################################
11 2、列表解析
12 >>> L = \[i\*\*2/2 for i in range(1,11) \]
13 >>> print L
14 \[0, 2, 4, 8, 12, 18, 24, 32, 40, 50\]
 1 要求:列出"/var/log"中所有已'.log'结尾的文件
 2 ##################################################
 3 1、普通方法
 4 >>>import os
 5 >>>file = \[\]
 6 >>> for file in os.listdir('/var/log'):
 7 ...     if file.endswith('.log'):
 8 ...         file.append(file)
 9 ... 
10 >>> print file
11 \['anaconda.ifcfg.log', 'Xorg.0.log', 'anaconda.storage.log', 'Xorg.9.log', 'yum.log', 'anaconda.log', 'dracut.log', 'pm-powersave.log', 'anaconda.yum.log', 'wpa\_supplicant.log', 'boot.log', 'spice-vdagent.log', 'anaconda.program.log'\]
12 ##################################################
13 2.列表解析
14 >>> import os
15 >>> file = \[ file for file in os.listdir('/var/log') if file.endswith('.log') \]
16 >>> print file
17 \['anaconda.ifcfg.log', 'Xorg.0.log', 'anaconda.storage.log', 'Xorg.9.log', 'yum.log', 'anaconda.log', 'dracut.log', 'pm-powersave.log', 'anaconda.yum.log', 'wpa\_supplicant.log', 'boot.log', 'spice-vdagent.log', 'anaconda.program.log'\]
 1 要求:实现两个列表中的元素逐一配对。
 2 1、普通方法:
 3 >>> L1 = \['x','y','z'\]
 4 >>> L2 = \[1,2,3\]      
 5 >>> L3 = \[\]
 6 >>> for a in L1:
 7 ...     for b in L2:
 8 ...         L3.append((a,b))
 9 ... 
10 >>> print L3
11 \[('x', 1), ('x', 2), ('x', 3), ('y', 1), ('y', 2), ('y', 3), ('z', 1), ('z', 2), ('z', 3)\]
12 ####################################################
13 2、列表解析:
14 >>> L1 = \['x','y','z'\]
15 >>> L2 = \[1,2,3\]
16 L3 = \[ (a,b) for a in L1 for b in L2 \]
17 >>> print L3
18 \[('x', 1), ('x', 2), ('x', 3), ('y', 1), ('y', 2), ('y', 3), ('z', 1), ('z', 2), ('z', 3)\]
1 使用列表解析生成 9\*9 乘法表
2 
3 print('\\n'.join(\[''.join(\['%s\*%s=%-2s '%(y,x,x\*y)for y in range(1,x+1)\])for x in range(1,10)\]))

说明:

以上实例,使用列表解析比使用普通方法的速度几乎可以快1倍。因此推荐使用列表解析。

​最后,如果你也想自学Python,可以关注我。

我还整理出了一套系统的学习路线,这套资料涵盖了诸多学习内容: 【点击这里】领取!

包括:Python激活码+安装包、Python web开发,Python爬虫,Python数据分析,人工智能、自动化办公等学习教程。带你从零基础系统性的学好Python!开发工具,基础视频教程,项目实战源码,51本电子书籍,100道练习题等。相信可以帮助大家在最短的时间内,能达到事半功倍效果,用来复习也是非常不错的。
在这里插入图片描述

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

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

相关文章

动态规划——多状态动态规划问题

目录 一、打家劫舍 二、打家劫舍 II 三、删除并获得点数 四、粉刷房子 五、买卖股票的最佳时机含冷冻期 六、买卖股票的最佳时机含手续费 七、买卖股票的最佳时机III 八、买卖股票的最佳时机IV 一、打家劫舍 打家劫舍 第一步:确定状态表示 当我们每次…

navicat下载教程(包会的)

官网地址:Navicat | 下载 Navicat Premium 14 天免费 Windows、macOS 和 Linux 的试用版 第三方官网:https://pan.baidu.com/s/1kTgxwX84TPEqVfals38Mvw 一、下载navicat安装包 步骤1---试用版本 步骤2---下载windws系统的navicat 步骤3---查看安装…

ES6总结

1.let和const以及与var区别 1.1 作用域 var: 变量提升(Hoisting):var 声明的变量会被提升到其作用域的顶部,但赋值不会提升。这意味着你可以在声明之前引用该变量(但会得到 undefined)。 con…

闯关leetcode——88. Merge Sorted Array

大纲 题目地址内容 解题代码地址 题目 地址 https://leetcode.com/problems/merge-sorted-array/description/ 内容 You are given two integer arrays nums1 and nums2, sorted in non-decreasing order, and two integers m and n, representing the number of elements …

计量校准公司对校准工程师,会有什么资质要求?

计量校准是指利用一些计量校准工具,对机器、仪器等进行测量和校准。来实现基本功能的正常使用。计量校准安排,是指根据委托方的要求,按照计量器具校准标准,向社会提供计量器具校准服务的安排。今天,我们就来看看计量校…

Django的请求与响应

Django的请求与响应 1、常见的请求2、常见的响应3、案例 1、常见的请求 函数的参数request是一个对象,封装了用户发送过来的所有请求相关数据。 get请求一般用来请求获取数据,get请求也可以传参到后台,但是传递的参数显示在地址栏。 post请求…

INDEMIND:扫地机器人,保“鲜”不保“熟”

从家庭“必备”到边角“鸡肋”。 新鲜却不保“熟” 作为新时代的网红产品,扫地机器人成为了很多装修攻略中的必备单品,但当年轻人真正使用后,心中却不免疑问,这真的是自己听到的那个“六边形战士”? 与所畅想的“甩手…

基于yolov8、yolov5的PCB板缺陷检测系统(含UI界面、数据集、训练好的模型、Python代码)

blog.csdnimg.cn/direct/6f53422ed9fd44dc8daad6dc5481c4c9.png) 项目介绍 项目中所用到的算法模型和数据集等信息如下: 算法模型:     yolov8、yolov8 SE注意力机制 或 yolov5、yolov5 SE注意力机制 , 直接提供最少两个训练好的模型…

无人机之视觉技术篇

一、视觉传感器的类型 摄像头: 最常见的视觉传感器,能够捕捉可见光图像和视频。 通过单目、双目或多目摄像头的组合,无人机能够实现立体视觉,从而估算距离、深度,并进行物体识别和追踪。 红外传感器: …

猿人学— 第一届第1题(解题思路附源码)

猿人学 — 第1届第1题(解题思路附源码) F12进入开发者工具—> 发现停止在debugger处 —> 右键点击Never pause here后下一步 翻页,抓包后发现请求携带page和m两个参数,page应该就是页数,m则需要逆向 依次查找…

24.6 监控系统在采集侧对接运维平台

本节重点介绍 : 监控系统在采集侧对接运维平台 服务树充当监控系统的上游数据提供者在运维平台上 可以配置采集任务 exporter改造成探针型将给exporter传参和修改prometheus scrape配置等操作页面化 监控系统在采集侧对接运维平台 服务树充当监控系统的上游数据提供者在运…

web 0基础第二节 列表标签

1.有序列表 <!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <meta name"viewport" content"widthdevice-width, initial-scale1.0"> <title>有序列表 比较重要</title>…

低代码BPM流程引擎:赋能业务流程的高效工具

什么是低代码BPM流程引擎&#xff1f; 低代码BPM流程引擎是一种通过图形化界面和简单配置&#xff0c;允许用户快速设计、管理和优化业务流程的软件工具。与传统的BPM解决方案相比&#xff0c;低代码平台降低了对专业开发人员的依赖&#xff0c;让业务人员也能参与到流程设计中…

Vivado - 在硬件中调试 Serial I/O (IBERT)

目录 1. 简介 2. 硬件平台 2.1 ZCU102 2.1.1 Clock Sources & Destinations 2.2 ZCU106 2.2.1 Clock Sources & Destinations 2.2.2 IP 配置 2.2.3 约束 3. 结果 3.1 创建 Links 3.1.1 IBERT UI 3.1.2 创建 Links 3.1.3 配置链路 3.1.4 扫描参数 3.1.5 …

国产AI工具「神笔马良」!只需上传剧本,AI一键成片!(附保姆级教程)

大家好&#xff0c;我是程序员X小鹿&#xff0c;前互联网大厂程序员&#xff0c;自由职业2年&#xff0c;也一名 AIGC 爱好者&#xff0c;持续分享更多前沿的「AI 工具」和「AI副业玩法」&#xff0c;欢迎一起交流~&#xff08;AI资料点文末卡片自取&#xff09; 记得 AI 视频刚…

使用阿里巴巴的图

参考链接1 引用彩色图标可参考以下链接 &#xff08;到第三步 测试图标效果 的时候 还是可以保持之前的写法&#xff1a;<i/sapn class“iconfont icon-xxx”>也会出现彩色的&#xff09; 参考链接2 阿里巴巴字体使用 也可以直接将官网的代码复制过来到页面的css区域

想要去日本做IT,本篇文章给您一些中肯的建议!

关于在日本从事IT行业&#xff0c;以下是一些建议&#xff1a; 一、了解行业现状与趋势 行业需求旺盛&#xff1a;随着人工智能、大数据、云计算等技术的不断发展&#xff0c;日本IT行业对程序员的需求持续增长&#xff0c;特别是在金融科技、电子商务、游戏开发、移动应用等…

如何评估TPM管理咨询公司的人才培养效果?

在探讨如何评估TPM管理咨询公司的人才培养效果时&#xff0c;我们需要从多个维度进行深入分析&#xff0c;以确保评估的全面性和准确性。TPM管理咨询公司作为推动企业生产效率与质量管理提升的重要力量&#xff0c;其人才培养效果直接关系到咨询项目的实施效果及企业的长远发展…

3DCAT实时云渲染赋能2024广东旅博会智慧文旅元宇宙体验馆上线!

广东国际旅游产业博览会&#xff08;以下简称“旅博会”&#xff09;是广东省倾力打造的省级展会品牌&#xff0c;自2009年独立成展至今已成功举办十五届。2024广东旅博会于9月13—15日在广州中国进出口商品交易会展馆A区举办&#xff0c;线上旅博会“智慧文旅元宇宙体验馆”于…

Word 首行缩进 2 字符怎么设置?具体步骤演示

在日常的文档编辑和排版中&#xff0c;首行缩进是一个非常常见且重要的排版需求。尤其是在中文文档中&#xff0c;首行缩进能够提高文章的美观度和可读性&#xff0c;使文章结构更加清晰。那 Word 首行缩进 2 字符怎么设置呢&#xff1f;下面就给大家展示具体的操作步骤。 设置…