Python列表推导式,集合推导式,元组推导式_d= [i*2 for i in c]什么意思?_一场丶的博客-程序员宅基地

技术标签: Python列表推导式,集合推导式,元组推导式  Python  

先定义一个列表a

a = [1, 2, 3, 4, 5, 6, 7, 8]
a = [1, 2, 3, 4, 5, 6, 7, 8]

# 列表推导
d = [i**2 for i in a]

#集合推导
e = {i**2 for i in a}

#元组推导
f = (i**2 for i in a)

print(type(d))

print(type(e))

print(type(f))
-------------------------
输出:
<class 'list'>
<class 'set'>
<class 'generator'>

前两个是列表和集合,这很正常,最后一个用的元组,却是生成器(Generator),这是因为元组是不可变的。
要怎么访问里面的元素呢?很简单:

a = [1, 2, 3, 4, 5, 6, 7, 8]
f = (i**2 for i in a)
for n in f:
    print(n)
print(type(f))
---------------------------------------------
输出:
1
4
9
16
25
36
49
64
<class 'generator'>

推导式还可以进行条件判断:(当a中的元素大于等于5时候才计算)

a = [1, 2, 3, 4, 5, 6, 7, 8]
d = [i**2 for i in a if i >=5]
print(d)
---------------------
输出:
[25, 36, 49, 64]

推导式第一个i**2,i的平方还可以用函数替代。(小提示:i的立方可以写成i***3)。当列表a中的元素大于等于6的时候,计算它的平方,否则计算它的立方:

a = [1, 2, 3, 4, 5, 6, 7, 8]
def conpute(x):
    if(x >= 6):
        return x**2
    return x**3
f = [conpute(i) for i in a]
print(f)
----------------------------------------
输出:
[1, 8, 27, 64, 125, 36, 49, 64]

将数字或者字符串放进列表中:

a = [1, 2, 3, 4, 5, 6, 7, 8]
def conpute(x):
    if(x >= 6):
        return x**2
    return x**3
d = (conpute(i) for i in a)
x = []
for n in d:
    x.append(n)
print(x)
---------------------------------------------------
输出:
[1, 8, 27, 64, 125, 36, 49, 64]
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_40698401/article/details/82469492

智能推荐

Minecraft 1.12.2模组开发(四十三) 自定义盾牌(Shield)_Jay_fearless的博客-程序员宅基地

今天我们在模组中实现一个自定义盾牌1.新建一个接口类IHasModel:IHasModel.javapublic interface IHasModel { public void registerModels();}之后我们新建一个物品基类ItemBase来实现接口类:ItemBase.javapackage com.joy187.rejoymod.item;import com.joy187.rejoymod.IdlFramework;import com.joy187.rejo

一个项目学会前端实现登录拦截_前端登录用截流-程序员宅基地

时间:2018-01-13 12:29来源:未知 作者:admin一个项目学会vue全家桶+axios实现登录、拦截、登出功能,以及利用axios的http拦截器拦截请求和响应。 前言 该项目是利用了Github 提供的personal token作为登录token,通过token访问你的Reposi一个项目学会vue全家桶+axios实现登录、拦截、登出功能,以及利用axios的http拦截器拦..._前端登录用截流

C 调试LOG函数-程序员宅基地

#define web_LOG(fmt, rest...) websPrintLog(__FUNCTION__, __LINE__, fmt, ##rest)int websPrintLog(char *fun, int line, char * str, ...){

分享做过的金蝶项目用到的宝贵资料!金蝶webservice接口、金蝶dep动态扩展平台、金蝶 EAS开发伙伴认证试题及答案-程序员宅基地

1、金蝶 bos工具类,这个工具类是当时一个从事金蝶开发一段时间的朋友给我的,给我的开发提供了很大的帮助。2、金蝶 webservice接口 文档,关于调用金蝶webservice接口的资料说明,我第二个项目全靠这两个资料了。3、金蝶 动态扩展平台 文档,金蝶dep动态扩展平台,估计很少用到,不过有时候也能用到的!4、金蝶 EAS开发伙伴认证试题及答案,这是公司组织我们参加金蝶认证考试

Git SVN 版本控制 简介 总结 MD-程序员宅基地

Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 [email protected] SVN 版本控制 简介 总结 MD目录目录Git 使用准备...

买不起书的来下电子书吧,我搜集的,超全-程序员宅基地

N多计算机精品免费视频下载,不要别后悔啊 《VC知识库5周年精华珍藏版》 http://www.ibeifeng.com/read.php?tid=592&u=83 C语言经典算法100例(强烈推荐) http://www.ibeifeng.com/read.php?tid=1334&u=83 《C++程序调试实用手册》(DeBUGGING C++) http://www.ibeifeng.co

随便推点

MFC中Tab控件的使用详解-程序员宅基地

1. 新建一个MFC工程, 取名MyTab, 选择Dialog based, 然后Finish. 2. 删除对话框上默认添加的三个控件. 添加Tab Control控件并在Property属性中设置ID为IDC_TABTEST 在More Styles里勾上Bottom. 调速尺寸使其布满整个对话框, 我这边Tab Control的尺寸最后为164X203. 在ClassWizard为其添加变

渐变背景(background)效果_background横向渐变色-程序员宅基地

chrom and Safari浏览器:webkit核心的浏览器,使用CSS3渐变方法(css-gradient)-webkit-gradient(type, start_point, end_point, / stop...)-webkit-gradient(type, inner_center, inner_radius, outer_center, outer_background横向渐变色

最近看的书籍-程序员宅基地

目前,毕业可能要做一些andriod的开发,看的一些java书籍列表如下:基础篇:Java语言程序设计Java编程思想进阶:think in c++think in java深入理解java虚拟机andriod的基础入门andriod疯狂讲义ps:若读者有好的书籍推荐,欢迎指教!

springdata整合elasticsearch7.x错误NoNodeAvailableException,health check failed,es与redis的netty启动冲突的解决方法_es认为netty的处理器已经被设置好了,redis启动之时,就已经设置好了,那么es检测到n-程序员宅基地

1. NoNodeAvailableExceptiones小白 今天去用springboot data 去整合 elasticsearch的时候出现了NoNodeAvailableException。网上的说法是版本不匹配,我也遇到了这个问题。首先去查看自己es 版本号 :http://127.0.0.1:9200我的es 是7.6.0查看spring-data-elasticsearch jar包中的版本号发现底层的transport -netty4-client 的版本号是6.8._es认为netty的处理器已经被设置好了,redis启动之时,就已经设置好了,那么es检测到n

【计算机科学】【2012.05】基于人工神经网络的常微分方程数值求解-程序员宅基地

本文为印度ROURKELA国立技术研究所(作者:Pramod Kumar Parida)的硕士论文,共29页。本文介绍了利用人工神经网络求解常微分方程的方法。在不直接使..._基于神经网络的常微分方程初值问题求解csdn

python与zmq系列(4)-程序员宅基地

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/KWSY2008/article/details/49490813 &nbsp; &nbsp; &nbsp; &nbsp;今天为大家介绍push/pull模式,这是一个什么模式呢?战争时期,食物紧缺,...

推荐文章

热门文章

相关标签