python怎么样另存为_python要怎么保存python生成式

本篇将介绍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×1, 2×2, 3×3, 4×4,..., 10×10]怎么做?方法一是循环:

>>>L = []

>>>for x in range(1, 11):

L.append(x * x)

>>>L

[1, 4 ,9 ,16, ..., 100]

但是循环太繁琐,而列表生成式则可以用一行语句代替循环生成上面的list:

>>>[x*x for x in range(1, 11)]

[1, 4, 16, 25, 36, 49, 64, 81, 100]

写列表生成式时,把要生成的元素x * x放在前面,后面跟for循环,就可以把list创建出来,十分有用,多写几次,很快就可以熟悉这种语法。

for循环后面还可以加上if判断,这样我们就可以筛选出仅偶数的平方:

>>>[x*x for x in range(1, 11) if x % 2 == 0]

[4, 16, 64, 100]

还可以使用两层循环,还可以生成全排列:

>>>[m+n for m in 'ABC' for n in 'XYZ']

['AX', 'AY', 'AZ', 'BX', 'BY', 'BZ', 'CX', 'CY', 'CZ']

三层和三层以上的循环就很少使用了。

运用列表生成式,可以写出非常简洁的代码。例如,列出当前目录下的所有文件和目录名,可以通过一行代码实现:

>>>import os #导入os模块

>>>[d for d in os.listdir('.')] #os.listdir可以列出文件和目录

for循环其实可以同时使用两个甚至多个变量,比如dict的items()可以同时迭代key和value:

>>>d = {'X':'A', 'y':'B', 'z':'C'}

>>>for k, v in d.items():

print(k, '=', 'v')

y = B

x = A

z = C

因此,列表生成式也可以使用两个变量来生成list:

>>>d = {'x':'A', 'y':'B', 'z':'C'}

>>>[k+= ' ='+v for k, v in d.items()]

['y=B', 'x=A', 'z=C']

最后把一个list中所有的字符串变成小写:

W WW.002pc .COM对《python要怎么保存python生成式》总结来说,为我们学习Python很实用。>>>L = ['Hello', 'World', 'IBM', 'Apple']

>>>[s.lower() for s in L]

['hello', 'world', 'ibm', 'apple']

复杂表达式

1、使用for循环的迭代不仅可以迭代普通的list,还可以迭代dict。

假设有如下的dict:

d = {'Adam':95, 'Lisa':85, 'Bart':59}

完全可以通过一个复杂的列表生成式把它变成一个HTML表格:

tds = ['

%s%s'%(name, score) for name, score in d.items()]

print('

print('

NameScore')

print '\n'.join(tds)

print('

')

注意:字符串可以通过%进行格式化,用指定的参数替代%s。字符串的join()方法可以把一个list拼接成一个字符串。

2、在生成的表格中,对于没有及格的同学,请把分数标记为红色。

d = {'Adam':95, "Lisa":85, "Bart":59}

def generate_tr(name, score):

if score < 60:

return '

%s%s' %s(name, score)

return '

NameScore'%(name, score)

tds = [generate_tr(name, score) for name, score in d.items()]

print('

print('\n'.join(tds))

print('

')

3、条件过滤

列表生成式的for循环后面还可以加上if判断,例如:

>>>[x * x for x in range(1, 11)]

[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

如果我们只想要偶数的平方,不改动range()的情况下,可以加上if来筛选:

>>>[x*x for x in range(1, 11) if x % 2 == 0]

[4, 16, 64, 100]

有了if条件,只有if判断为True的时候,才把循环的当前元素添加到列表中。

编写一个函数,它接收一个list,然后把list中的所有字符串变成大写后返回,非字符串元素将被忽略。

[x.upper() for x in L if isinstance(x, str)]

参考

列表生成式--学习笔记

廖雪峰-生成式

更多:python要怎么保存python生成式

https://www.002pc.comhttps://www.002pc.com/python/3907.html

你可能感兴趣的生成式,python

No alive nodes found in your cluster

0踩

0 赞

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

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

相关文章

反锐化掩膜_光电图像处理 | 空域锐化滤波

锐化滤波Sharpen filterclc;close all;I imread(图片11.jpg);set(figure(1), name,不同梯度合成效果, numbertitle, off);subplot(221),imshow(I);title(原图);I rgb2gray(I);%% Roberts operatorH1x [0 0 0;0 -1 0;0 0 1]; H1y [0 0 0;0 0 -1;0 1 0];J1x imfilter(I,H1x)…

服务器不知道怎么回事安卓系统很卡,为什么安卓系统很容易变卡?该怎么解决?看完长知识了...

手机是我们现代生活的必备之物&#xff0c;什么都可以没有到就是不能没有手机&#xff0c;如今市面上的手机的手机不是安卓系统就是ios系统&#xff0c;安卓系统的手机虽然便宜但是有一个诟病&#xff0c;那就是安卓的手机会越用越卡&#xff0c;不管你手机配置是多么的高&…

EntityFramework Core自动返回SQL语句

【导读】给各位拜年了&#xff0c;开年第一篇&#xff0c;后续我们介绍EF Core 5.0相关新特性自动返回SQL语句当执行LINQ查询时&#xff0c;EF Core 5.0提供了ToQueryString扩展方法返回生成的SQL语句比如&#xff0c;执行如下LINQ查询var name "jeffcky"; var user…

生成jar文件的方法

生成jar文件的方法。菜单&#xff1a;Wizards--Archive builder如果需要重新生成jar文件&#xff0c;则需要在菜单中选择 project--rebuilder在jbuilder中加入其它jar包的方法。1>菜单&#xff1a;tools--Enterprise Setup--Datebase Driver--Add--new--选择jar所在的路径--…

怎么用ai做出适量插画_怎么用最简单的方法,做出最炫酷的数据可视化图表?...

如果要问数据怎样做才能显得最装逼&#xff0c;那么答案一定只有一个&#xff1a;“数据可视化”&#xff01;看上去也很炫酷对不对&#xff0c;其实上面的可视化图表其实并不复杂&#xff0c;很多人推荐的Python、R语言、Tableau等专业数据分析工具几乎都能很轻松的实现。但是…

stm32烧不进去程序_STM32的FLASH和SRAM的使用情况分析

点击上方蓝字关注我哦&#xff5e;01前言STM32片上自带FLASH和SRAM&#xff0c;简单讲FLASH用来存储程序的&#xff0c;SRAM是用来存储运行程序中的中间变量。本文详细分析下如何查看程序中FLASH和SRAM的使用情况。本文开发工具: keil5芯片: STM32F105VCT602FLASH和SRAM介绍FLA…

每一个人都应该学习电脑编程,因为它会教你如何思考

扎克伯格11岁开始学习编程&#xff0c;创办Facebook&#xff1b;比尔盖茨13岁学习编程&#xff0c;创办微软……乔布斯说&#xff1a;“每一个人都应该学习电脑编程&#xff0c;因为它会教你如何思考。" 现在在北京上海&#xff0c;顶级的IT工程师&#xff0c;年薪至少是百…

GitHub Actions 支持 skip ci 了

GitHub Actions 支持 "skip ci" 了IntroGitHub Actions 作为 GitHub 官方的 CI 支持&#xff0c;很多开源项目已经在使用 Actions 来做项目的 CI 了&#xff0c;但是一直以来有一个痛点&#xff0c;就是不支持跳过 CI&#xff0c;其他的 CI 大多都可以通过在 commit …

化解致癌食品有办法

一&#xff1a;化解致癌食品有办法 盐腌菜在加工前期没有处理过&#xff0c;含有一定量的亚硝基化合物&#xff0c;一般人们常用水煮、日照、热水洗涤等方法可达消除致癌的目的。其中上佳的方法是用水煮&#xff0c;但对腌菜的味道有所影响。如腌制前适量加入维生素C&#xf…

layui上传报错会有哪些原因_一到冬天,为什么会比别人更怕冷?有哪些原因?...

冬天已经正式来到&#xff0c;气温也是越来越低了&#xff0c;早晚的时候就能明显的感觉到寒风凛凛。有很多人到了冬天以后就很怕冷&#xff0c;风一吹过来&#xff0c;就觉得浑身都冰冷。明明已经穿了很多的衣服&#xff0c;还是会觉得很冷&#xff0c;只有在空调、暖气底下&a…

干货|MIT线性代数课程精细笔记[第一课]

1知识概要本节开始&#xff0c;我们一起来学习线性代数的有关知识&#xff0c;首节我们从解方程谈起&#xff0c;学习线性代数的应用之一就是求解复杂方程问题&#xff0c;本节核心之一即为从行图像与列图像的角度解方程。 2方程组的几何解释基础 2.1 二维的行图像 我们首先通…

element 方法返回的boolean被当成字符串了_13个需要知道的方法:使用 JavaScript 来操作 DOM...

作者&#xff1a;Milos Protic 译者&#xff1a;前端小智来源&#xff1a;impressivewebs.DOM 或文档对象模型是 web 页面上所有对象的根。它表示文档的结构&#xff0c;并将页面连接到编程语言。它的结构是一个逻辑树。每个分支结束于一个节点&#xff0c;每个节点包含子节点、…

很遗憾,总对工作挑挑拣拣的家伙,一般结局都不会太好

这是头哥侃码的第233篇原创在过去的五年里&#xff0c;我最怕遇到两件事。一是失眠&#xff0c;一个人半夜醒来&#xff0c;瞬间毫无困意&#xff0c;只能瞪大眼睛望着天花板数羊&#xff0c;等待着黎明的到来。二是每到春节之前&#xff0c;在进行团队年度绩效评估和年终奖发放…

Strategy模式与Delegate委托

Strategy模式是对算法的封装。即使是一个计算行为&#xff0c;如果其实现有其多样性&#xff0c;为达到易扩展的目的&#xff0c;我们也有必要将其抽象出来&#xff0c;以接口的形式来定义。由于充分利用了面向 对象的多态性&#xff0c;在调用该行为时&#xff0c;其具体的实现…

pmos低电平驱动_MOS管驱动电路详解要点

时间&#xff1a;2009-07-06 8756次阅读【网友评论2条我要评论】收藏在使用MOS管设计开关电源或者马达驱动电路的时候&#xff0c;大部分人都会考虑MOS的导通电阻&#xff0c;最大电压等&#xff0c;最大电流等&#xff0c;也有很多人仅仅考虑这些因素。这样的电路也许是可以工…

为什么技术与产品沟通起来总是那么痛苦

“如果产品经理过一会又打电话说再买个“面包”。。。那就折腾死程序员了。” 为什么产品与技术沟通起来总是那么痛苦&#xff1f;有时候你觉得很简单的一件事&#xff0c;在程序的世界里很有可能变得纷繁复杂。 编程语言&#xff0c;它终归是一门语言&#xff0c;只是它的使用…

python中双重循环_python中双循环

广告关闭 腾讯云11.11云上盛惠 &#xff0c;精选热门产品助力上云&#xff0c;云服务器首年88元起&#xff0c;买的越多返的越多&#xff0c;最高返5000元&#xff01; 如果你对python中的for循环不是很清楚&#xff0c;请看看这篇文章&#xff1a;for循环控制语句——菜鸟的py…

Dapr 交通流量控制示例

Dapr 已在塔架就位 将发射新一代微服务牛年 dotnet云原生技术趋势Dapr是如何简化微服务的开发和部署前面几篇文章都是从大的方面给大家分享Dapr 能帮助我们解决什么问题&#xff0c;微软从开源到1.0 也是经过2年的时间开发&#xff0c;因此我写了这几篇文章也只能是带领大家对D…

DNS的一些实际应用(一)

一、活动目录和D N SD N S是基于I P网络的事实上的名字系统&#xff0c;是I n t e r n e t上的计算机的名字服务。Windows 2003使用D N S来定位计算机和域控制器&#xff08;例如定位活动目录&#xff09;。工作站或成员服务器通过查询D N S来找到一台域控制器。由于这个原因&a…

apt-get 更新指定软件_GrandPerspective for mac(磁盘管理软件)

GrandPerspective for mac是一款Mac平台上的磁盘管理软件&#xff0c;GrandPerspective Mac版用图形直观显示磁盘和指定目录使用状况。最占空间的文件/目录一目了然&#xff0c;便于管理你的Mac磁盘空间。GrandPerspective for Mac下载带给大家&#xff0c;欢迎大家前来下载&am…