Python---列表生成式

第45讲:Python生成式的概念以及列表生成式的应用案例 Python中针对列表、元组、集合、字典等可迭代对象提供了一种快速创建序列的简介语法。这个简介的语法就是生成式,也叫作推导式。生成式一般由:生成序列中元素的表达式+for循环+if条件组成。生成式主要是利用循环遍历一个可迭代对象,然后根据指定的生成元素表达式,每循环一次在序列中添加一个元素,从而快速的创建序列。列表生成式用于快速创建出一个列表,根据指定的列表元素生成表达式,通过for-in循环遍历从而快速创建出列表,需要注意的时,通过列表生成式生成的列表,其中的元素可能是有规律的,因为表达式是相同的。 阅读详情

需求1 接受变量 k a b

		s= '51 5000 10000'
		#li = []
		#for item in s.split():
		#    li.append(int(item))
		#k,a,b = li
		#print(k,a,b)
		
		li = [int(item) for item in s.split() ]			##用列表生成式写
		print(li)
		k,a,b =li
		print(k,a,b)

需求2:生成一个列表 列表元素分别为[11 22 33…nn]

	#li = [ i**i for i in range(1,8)]		
	#print(li)							##表示法1
	print([i**i for i in range(1,8)])	##表示法2

例子1:找出1~10之间的所有偶数

print([i  for i in range(1,11) if i%2 ==0])

例子2:有s1 =‘ABC’ s2=‘123’
要求输出[‘A1’, ‘A2’, ‘A3’, ‘B1’, ‘B2’, ‘B3’, ‘C1’, ‘C2’, ‘C3’]

s1 ='ABC'
s2 ='123'
print([ i+j for i in s1 for j in s2])     ##列表生成器写

例子3:找出1~10之间的所有偶数,并且返回一个列表(包含以这个偶数为半径的园的面积)
1.

   	import math
	li = []
	for r in range(2, 11, 2):
	    square = math.pi * r * r
	    li.append(square)
	print(li)
import math       								  ##导入数学模块
print([ math.pi *r*r for r in range(1,11,2)])       #math.pi就是派
	##函数和列表生成式结合
	import math 
	def squire(r):
   		res = math.pi *r *r
		return res
	print([squire(r) for r in range(1,11,2)])	

例子4:找出1~100之间的所有质数(要求用函数+列表生成式)

	def zhishu(num):
    for i in range(2,num):
        if  num %i == 0 :
            return False
    else:
         return True
	print([i  for i in range(2,101) if zhishu(i)])

例子5:将列表的字符串的大写改成小写,不是字符串的就去掉

	li = ['hello', 'WOrld', 18, 12.3]
	print([s.lower() for s in li if isinstance(s, str)])  ##  isinstance(s,str)  统计是否是字符串,也可int float

例子6:找出/var/log目录中,所有以.log结尾的文件名或者目录名

	import os	
	print([filename for filename in os.listdir('/var/log') if filename.endswith('.log')])

例子7:(2018-腾讯-在线编程题)

题目描述:
给定一个正整数,编写程序计算有多少对质数的和等于输入的这个正整数,并输出结果。输
入值小于1000。
如,输入为10, 程序应该输出结果为2。(共有两对质数的和为10,分别为(5,5),(3,7))
[2,3,5,7]

输入描述:
输入包括一个整数n,(3 ≤ n < 1000)

输出描述:
输出对数

示例1 :
输入:
10
输出:
2

  	num = int(input ('number:'))
  	def zhishu(num):
  	    for i in range(2,num):
  	        if num %i ==0:
  	            return False
  	    else:
  	        return True
  	s1 = [i for i in range(2,num) if zhishu(i)]
  	print(s1)
  	s =0
  	for a in s1:
  	    if num - a <=a and (num-a) in s1:
  	        s+=1
  	print(s)

美亚杯取证比赛必备:Veracrypt挂载+检材解压保姆级教程(附常见错误排查) 本文提供美亚杯数字取证竞赛的Veracrypt挂载与检材解压保姆级教程。详细解析从分卷压缩包解压(密码格式为MeiyaCup+年份)到使用Veracrypt正确挂载加密容器的全流程,并附有常见错误排查与高级应急方案,帮助选手高效突破技术门槛,顺利进入取证分析阶段。 阅读详情

相关推荐

以LAN8720A为例的以太网硬件设计方案

输入时钟(XTAL1/CLKIN,XTAL2):推荐外加25MHz(性价比较高)晶振为PHY芯片提供时钟,PHY芯片内部PLL将其倍频为50MHz来使用,亦可使用直接使用50MHz晶振。三位MODE通过高低电平组合分别对应以上8种模式 ,包含10M半双工,10M全双工,100M半双工,100M全双工,是否启用自协商协议,CRS是否有效等。VDDCR:1.2V电源,可由芯片内部稳压电源提供,亦可由外部电源提供,由外部电源提供可降低芯片功耗。REF_CLK:参考时钟,由MAC或外部时钟晶振向PHY芯片提供。

weixin_46154042的博客 5884

python---列表生成式

需求1 接受变量 k a b s= '51 5000 10000' #li = [] #for item in s.split(): # li.append(int(item)) #k,a,b = li #print(k,a,b) li = [int(item) for item in s.split() ] ##用列表生成式写 print(li) ...

weixin_43697701的博客 291

手把手教你用STM32的SPI驱动MCP2517FD实现CAN FD通信(附完整代码)

本文详细介绍了如何使用STM32通过SPI驱动MCP2517FD实现CAN FD通信,涵盖硬件连接、SPI驱动编写、寄存器配置及数据收发实战。提供完整代码示例和常见问题排查指南,帮助开发者快速构建高可靠性的CAN FD通信系统,适用于汽车电子和工业控制等领域。

weixin_30607029的博客 674

python简单的练习实例

练习几个简单的python程序 1、输出1到100之间所有的偶数 法一: num = 1 while True: if num==51: break print(num*2) num+=1 法二: num = 2 while num&lt;=100: print(num) num+=2 2、输出1到100的奇数 法一: num = 1 w...

honeyJ 4844

Cadence Allegro通过手工绘制板框的方法

Cadence Allegro通过手工绘制板框的方法 Cadence Allegro绘制板框有三个方法: 1、通过手工绘制板框; 2、通过向导绘制板框; 3、通过导入DXF文件导绘制板框; 本章将教会大家如何通过手工的方法绘制100mm的矩形板框。 方法步骤如下: 一、通过放置绘图工具2D线绘制; 1、运行Cadence Allegro软件,打开File菜单栏,选择New。 2、这时软件会弹出Ne...

LGCPCB的博客 2万+

Keil5安装教程(保姆级)Keil5mdk安装步骤

6、复制生成的激活码,粘贴在New License ID Code处,点击Add LIC,即可成功激活mdk,显示mdk的使用期限。6、复制生成的激活码,粘贴在New License ID Code处,点击Add LIC,即可成功激活C51,显示mdk的使用期限;3、在安装文件中点击keygen.exe文件,粘贴复制过的CID,选择Target为C51,点击Generate,生成激活码;4、在弹出的界面中会自动安装在安装keil的路径,点击“Next”进行后续安装,安装完成后,点击“Finish”。

m6886258的博客 9万+

python输入数字输出列表_学习Python记笔记(1)输入输出_u文档R+,W+,a+的区别,输入空格分隔的多个数字省略括号输出列表打印转义符保留位,一,文件,rwa,方括号,转义字符,位数...

一、输入1、标准输入内置函数input(string)提供从默认标准输入——从键盘读取一行文本函数返回值是输入的文本,str对象参数string为提示文本,str对象,可选str = input("Please input:")回车结束输入单行输入多数字,以空格分隔numbers = list(map(int,input().split(" ")))print(numbers)2、文件Ⅰ、打开文件...

weixin_39560604的博客 528

Microsoft Forms功能深度解析:企业数据收集与协作的智能利器

Microsoft Forms是微软365生态中的在线表单工具,支持问卷调查、测验和投票创建,具备拖拽式界面、多题型设计和实时数据分析功能。其核心价值在于易用性、跨平台兼容性以及与Teams、SharePoint等微软服务的深度集成,满足GDPR/HIPAA等合规要求。提供表单创建、权限管理、自动化流程(通过Power Automate)和审计日志等功能,适用于金融、医疗、教育等多行业场景。虽然存在逻辑分支有限等约束,但通过案例证明能显著提升数据收集效率(达70-85%)。使用时需注意许可证配置(Busin

xueyunshengling的博客 9125

04_Python编程从入门到实践_列表(2)

1

paidaxing_dashu的博客 818

Python爬虫实战:利用Playwright与反反爬技术抓取Crunchbase企业数据

在当今数据驱动的商业环境中,获取准确的企业信息对于市场分析、竞争情报和投资决策至关重要。Crunchbase作为全球领先的企业信息平台,包含了数百万家公司、投资者和关键人员的详细数据。本文将深入探讨如何使用Python最新爬虫技术Playwright,结合多种反反爬策略,高效抓取Crunchbase企业数据。我们将从爬虫基础概念讲起,逐步深入到高级技巧,并提供完整的代码实现,帮助读者掌握现代网络数据采集的核心技术。网络爬虫技术自互联网诞生以来经历了显著演变。

2201_76125261的博客 1833

大唐杯5G考前冲刺篇(回顾全文重点必看)

大唐杯习题复习指南

nimo观察者 1万+

Python教程:在Python中遍历列表详解

欢迎你来到站长在线的站长学堂学习Python知识,本文分享的是《在Python中遍历列表详解》。本知识点主要内容有:直接使用for循环遍历列表、使用for循环和enumerate()函数遍历列表、使用for循环和list()函数遍历列表、使用for循环和range()函数遍历列表、使用for循环和iter()函数遍历列表、使用while循环遍历列表。 我们先解释一下遍历的意思,遍就是全面,到处的意思,历就是行、游历的意思。所谓遍历就是全部走遍,到处周游的意思。 遍历列表就是从头到尾依次从列表中获取数

站长在线在优快云 4万+

【C++】开源:ncurses终端TUI文本界面库

ncurses配置使用(TUI)

DevFrank的博客 3167

python——列表生成式

概述:           列表生成式即List    Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式。           列表生成式的结构是在一个中括号里包含一个表达式,然后是一个for语句,然后是0个或多个for或者if语句。列表表达式可以是任意的,意思是你可以在列表中放入任意类型的对象。返回结果将是一个新的列表,在这个以if和for语句为...

qq_40628106的博客 7万+

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

python中的列表生成式

1.列表生成式 (List Comprehensions) 列表生成式:是python内置的比较简单但是功能强大的用于生成list的生成式 语法: [元素 for循环 if语句] 说明: 元素和for循环不能省略,但是,if语句可以省略 列表生成式有什么什么好处呢?, 第一个需求:生成一个列表,[1,2,3,4,5,6,7,8,9] ① 用传统的方法,可以完成 ......

Mogul的博客 1万+

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

Python之列表生成式

文章目录一、列表生成式二、简单练习1、成一个列表,列表元素分别为[1 ** 1,2 ** 2,....,9 ** 9]2、找出1~10之间的所有偶数3、S1=‘ABC’ S2=‘123’ A1 A2 A3…4、找出1~10之间的所有偶数.并且返回一个列表(包含以这个偶数为半径的园的面积)5、找出1~100之间的所有素数(函数+列表生成式)6.列表的字符串的大写改成小写,不是字符串的去掉7.找出/v...

weixin_43936969的博客 1万+

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

盘点Python列表生成式的三种方法

点击上方“Go语言进阶学习”,进行关注回复“Go语言”即可获赠从入门到进阶共10本电子书今日鸡汤兴来每独往,胜事空自知。一、前言列表生成式即List Comprehensions,是Pyt...

pdcfighting的博客 1万+

python中列表生成式

1.列表生成式Python内置的一种极其强大的生成列表 list 的表达式。返回结果必须是列表。 格式:[ 变量表达式 for 变量 in 表达式 if 变量的判断条件(结果为True 或者False)] #需求1:接收变量 k a b常规写法:s = '51 5000 10000'a = s.split()print(a)li = []for item in s.split(): li.app...

weixin_34233856的博客 976

Python入门之列表生成式、字典生成式

一、列表生成式 1. 非列表生成式 s = '51 5000 10000' li = [] for item in s.split(): li.append(int(item)) print(li) k,a,b = li print(k,a,b) 2.列表生成式 s = '51 5000 10000' li = [int(item) for item in s.split(...

vanvan_的博客 565

python 列表生成式_Python 列表生成式

列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式。举个例子,要生成list[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]可以用list(range(1, 11)):>>> list(range(1, 11))[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]但如果要生成[1...

weixin_40004502的博客 130

[Python]列表生成式

原创文章,欢迎转载。转载请注明:转载自 祥的博客 原文链接: 文章目录@[toc]0. 环境1. 基础1.1. 基础语法格式1.2. 循环嵌套语法格式1.3. 循环+嵌套判断语法格式2. 例子2.1. eg.基础语法格式2.2. eg.循环嵌套语法格式2.3. eg.循环+嵌套判断语法格式2.4. eg.筛选列表中的str变量,并使其变成小写3. 参考文献 Python列表生成式 Pytho...

祥的专栏 467

Python——列表生成式和字典生成式

一、列表生成式 1.普通的遍历循环写法 s = '51 5000 10000' li = [] for item in s.split(): li.append(int(item)) print(li) k,a,b = li print(k,a,b) #[1**1 2**2 .. 9**9] 求1到9的乘方 li = [] for i in range(1,10):...

yy1533974604的博客 856

Python 列表生成式

使用不同的方法生成列表以及列表生成式的高级操作

oafseoases 495

python:列表生成式,集合生成式

列表生成式 列表生成式也叫列表解析,格式如下: #[expression for i in 序列 if...] 例子: s = '51 5000 10000' li = [] for item in s.split(): li.append(int(item)) print(li) k,a,b = li print(k,a,b) 上面这个代码我们可以用列表表达式将其重新表达出来...

试试看吧。 1128

Python入门之列表、字典生成式

1 列表生成式 1.1 什么是列表生成式: 列表生成式是Python中内置的一种生成列表的表达式,返回值必须为列表 1.2 列表生成式的使用: 具体格式为:[expression for i in 序列 if…] 1.接收变量,将字符串s = '51 5000 10000’转变为三个整数,并被接收 (1)for循环生成列表 s = '51 5000 10000' li = [] for ite...

ly2020_的博客 584
上一篇: Python--is和==的区别,深浅拷贝的区别
下一篇: Python中的“字典生成式”
Dead_LS
博客等级 码龄7年 6粉丝 58原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值