一.列表解析式(列表推倒式):

功能:是提供一种方便的列表创建方法,所以,列表解析式返回的是一个列表.

1 lst = [1, 3, 5, 8, 10]

2 ll = [x+x for x in lst if x <= 5]

3 print ll

4 >>>[2, 6, 10]

二.字典解析式:

1 dic = {'a': 1, 'b': 2, 'c': 3}

2 d = {k: v for k, v in dic.items() if v >=2}

3 print d

4 >>>{'c': 3, 'b': 2}

三.集合解析式:

集合推导和列表推导的使用方法是类似的,只不中括号该改成大括号.

1 lst = [1, 3, 5, 8, 10]

2 aa = {x+x for x in lst if x <= 5} //注意集合解析式使用大括号!!!

3 print aa

4 >>>set([2, 10, 6]) //且输出为一个集合!!!

四.生成器:

通过列表生成式,我们可以直接创建一个列表。但是,受到内存限制,列表容量肯定是有限的。而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素,那后面绝大多数元素占用的空间都白白浪费了。

所以,如果列表元素可以按照某种算法推算出来,那我们是否可以在循环的过程中不断推算出后续的元素呢?这样就不必创建完整的list,从而节省大量的空间。在Python中,这种一边循环一边计算的机制,称为生成器(Generator)。

python提供两种方式创造生成器:

①生成器函数:和常规函数一样定义,不过用 yield而不是 return。

yield会一次返回一个结果,然后挂起,下次从挂起处继续执行,这样就解决了内存的限制。

注:其他方式会一次执行完所有的结果,然后再一次返回一个结果,这样,如果数据量大就会受到内存的限制,而且会占用大存储空间。

def gen(n):

for i in range(n):

yield i + 2

for item in gen(10):

print item

②生成器生成式:

生成器生成式和列表生成式类似,只是将方括号替换为括号。

generators = (x+2 for x in range(10))

友情链接:点我

python列表,字典,集合

初识模块 import sys print(sys.path)#查看化境变量 print(sys.argv)#查看文件的相对路径,但是在pachrm中 会自动转为绝对路径 import os #os. ...

python开发技巧---列表、字典、集合值的过滤

主要学习列表,字典,集合表达式的应用: 列表的解析式: 生成一个随机列表: In [4]: datalist = [randint(-10,10) for _ in range(10)] In [5] ...

python进阶---列表、字典、集合相关操作

基本概念 列表 序列是python中一个基本的数据结构,每个元素都有一个索引index 操作 # 创建列表 list = [] # 修改列表 list[2] = 2001 # 删除列表 del lis ...

python生成式&colon;列表、字典、集合

python的3类生成式: 列表生成式 字典生成式 集合生成式 1.python列表生成式 my_data = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] print(&quo ...

Python强化训练笔记&lpar;一&rpar;——在列表,字典,集合中筛选数据

列表,字典,集合中根据条件筛选数据,如下所示 列表:[-10,2,2,3,-2,7,6,9] 找出所有的非负数 字典:{1:90,2:55,3:87...} 找出所有值大于60的键值对 集合:{2,3 ...

python数据结构-如何在列表、字典、集合中根据条件筛选数据

如何在列表.字典.集合中根据条件筛选数据 问题举例: 过滤列表[1, 2, 5, -1, 9, 10]中的负数 筛选字典{“zhangsan”:97, "lisi":80, &qu ...

Python基础&lowbar;&lowbar;字典、集合、运算符

之前讨论的字符串.列表.元组都是有序对象,本节则重点讨论无序对象:字典与集合.一.字典 列表是Python中的有序集合,列表中的序指的是列表中的元素与自然数集形成了一个一一对应的关系.例如L=['I' ...

Python中的字典与集合

今天我们来讲一讲python中的字典与集合 Dictionary:字典 Set:集合 字典的语法: Dictionary字典(键值对) 语法: dictionary = {key:value,key: ...

Python 列表生成式 &amp&semi; 字典生成式

Python 列表生成式 & 字典生成式 通过生成式可以更加简洁地生成列表和字典 列表生成式 对比 直接生成数据后加入列表示例: user_list = list() for i in ran ...

python容器类型:列表,字典,集合等

容器的概念我是从C++的STL中学到的 什么是容器? 容器是用来存储和组织其他对象的对象. 也就是说容器里面可以放很多东西,这些东西可以是字符串,可以是整数,可以是自定义类型,然后把这些东西有组织的存 ...

随机推荐

在drupal7中动态的为某个内容类型添加字段

$myField_name = "my_new_field_name"; if(!field_info_field($myField_name)) // check if the ...

java中保留几位小数

public class NumUtils { /** * 保留两位小数 * * @param d * @return */ public static String get2Wei(double d ...

Linux SSH 远程操作与传送文件

操作系统:centos 6.5 x64 一.远程连接:在进行linux 的 ssh远程操作前,一定要确认linux 是否安装了 openssh-clients,为了方便起见,一般用yum安装即可:# ...

libvirt里的面向对象的C语言

C语言:类的声明和定义 // 通用父类的定义 struct _virClass { virClassPtr parent; unsigned int magic; char *name; size_t ...

201521123106 《Java程序设计》第10周学习总结

1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常与多线程相关内容. 2. 书面作业 本次PTA作业题集异常.多线程 finally 题目4-2 1.1 截图你的提交结果(出现学 ...

听翁恺老师mooc笔记(6)--指针运算

指针值加1就是将指针值加上sizeof(指针所指变量的类型) 1+1=2,那么指针加1是加上了1这个数字吗?试一下,在代码中定义了char数组,char也是整数,数组名是ac,ac中有10个元素,0- ...

Spark&colon;scala集合转化为DS&sol;DF

scala集合转化为DS/DF case class TestPerson(name: String, age: Long, salary: Double) val tom = TestPerson( ...

【转】Leveldb源码分析——1

先来看看Leveldb的基本框架,几大关键组件,如图1-1所示. Leveldb是一种基于operation log的文件系统,是Log-Structured-Merge Tree的典型实现.LSM源 ...

layui---事件监听

在使用layui的form表单做验证提交的时候,如果结合vue,或者是三级联动的时候,就需要做事件监听了. 具体语法: form.on('event(过滤器值)', callback); 可以用于监听 ...

C&num; 后台访问webapi

具体在哪看见的忘记了. 异步: public static class CallWebAPI { public static async Task APIPost(stri ...

python 列表解析式_python列表解析式,字典解析式,集合解析式和生成器相关推荐

  1. python 字典 列表 元祖_Python基础之列表、元祖、字典、集合,你都知道吗?附视频...

    前言 Python作为目前最火的编程语言之一,是一门解释型的高级编程语言,特点是简单明确.今天我们来简单介绍一下其中的列表.元祖.字典和集合,希望大家多多讨论. 列表(list) 具有以下特点: 1. ...

  2. Python编程基础:实验3——字典及集合的使用

    Python编程基础:实验3--字典及集合的使用 文章目录 Python编程基础:实验3--字典及集合的使用 一.前言 二.我的环境 三.实验目的与要求 四.实验任务 1.程序填空 2.程序编程 五. ...

  3. 学习Python(5)排序tuple元组dict字典set集合

    目录 学习Python(5)排序&tuple元组&dict字典&set集合 排序 冒泡排序 选择排序 元组 创建元组 元组元素的访问 元组操作 元组功能 二维元组 字典 创建字 ...

  4. python 字典排序 最大键_Python中的列表、元祖、字典、集合操作大全

    来源:http://suo.im/5HPGNT 在Python中有4种内建的数据结构:列表.元组.字典.集合.今天我们将会学习如何使用它们,以及它们如何使编程变得简单. 一.列表list 是处理一组有 ...

  5. python字典键值可以是元组或列表吗_Python列表、元组、字典、集合的内置使用方法...

    列表: 是一种可以存储多个值得数据容器 内容是有序的 可以存储任何数据类型 可以存储重复的元素 是可变类型(当内容发生变化时id不变) 元组: 也是一种可以存储多个值得数据容器 元组中的元素不可以被修 ...

  6. 散列表的设计与实现_python基础之字典与集合实现

    更多内容,欢迎关注微信公众号: tmac_lover 上一篇介绍python中字典和集中时,提到,字典和集合的优势在于增删改查非常高效,而高效的原因就在于,python中字典和集合这两个数据结构是基于 ...

  7. python的列表方法_Python列表的常用方法

    一.列表是什么? 列表是由一序列特定顺序排列的元素组成的,可以把字符串.数字.字典等都可以加入列表中. 列表中元素之间没有任何关系,列表也是自带下标的,默认从0开始. 列表是最常用的Python数据类 ...

  8. python定义一个函数列表排序_Python 列表(修改、添加、删除、排序)

    Python的基本数据类型有整数,浮点数,布尔,字符串,它们是最基本的数据.在实际编程中,我们要经常组织由很多基本数据组成的集合,这些集合的不同组织方式就是:数据结构,今天讲的是数据结构中的Pytho ...

  9. python 列表拆分_python列表拆分

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 我对python很新,但我遇到了问题. 我有一个看起来像列表的文本文件. 例如: ...

最新文章

  1. java jtextpane插入图片_java中怎么在JTextArea中添加图片?
  2. netty4.0.x源码分析—bootstrap
  3. redis 主从模式_Redis主从模式部署文档
  4. 【HDOJ】1196 Lowest Bit
  5. 利用VB.Net 通过Windows Sockets (Winsock)以及多线程编程进行桌面电脑与Pocket PC间的双向通信
  6. Postgresql数据库介绍15——客户端认证
  7. itext html 转换pdf后 字体加粗,HTML转PDF字体的坑搞了半天
  8. 《鸟哥 Linux 私房菜》560 页新书首发!完整中文版 PDF 下载
  9. 文件md5怎么会变化
  10. JSON Views 基本用法
  11. libcurl返回DNS无法解析的问题
  12. javaw.exe是什么进程?
  13. BOM(材料清单)整理及文件格式说明
  14. mac通过跳板机对服务器上传下载文件
  15. 查看邮箱帐号属性与说明
  16. 行人重识别(3)——行人重识别(基于图像)综述
  17. 【el-dialog + video】控制视频弹框的显示与隐藏
  18. 牛牛爱位运算(与远算,相与的结果小于等于自身)
  19. DY用辅助软件快速上热门
  20. 第五章第四十五题(统计:计算平均值和标准方差)(Statistics: compute mean and standard deviation)

热门文章

  1. Hybris service layer和SAP CRM WebClient UI架构的横向比较
  2. SAP官方到底提供了免费的S4HANA试用版没有?
  3. when is this.oModel in sap-ui-core.js initialized for navigation working
  4. SAP odata get metadata in QHD - still has cache logic
  5. WebSocket服务器上的oTransactionID_SiteDetailMap的qrcode是何时生成的
  6. Cordova工程里android平台相关的index.html是怎么加载的
  7. UDO compare ABAP代码的实现
  8. Equipment upload 不起作用的分析
  9. Document Builder: 如何启用rule 分析的trace mode
  10. ABAP help document F1