list推导式,dict推导式,set推导式
生成一个1-14的列表
1.1 普通for循环
# lst = []
# for i in range(1,15):
# lst.append(i)
# print(lst)
# # 结果:
# [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
1.2 list 推导式
lst = [i for i in range(1,15)]
print(lst)
# 结果:
# [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
# 代码更加简短,
2. 生成器表达式和list推导式的区别
1.列表推导式比较耗内存,一次性加载,生成器几乎不在用内存,只有字访问生成器的时候才会分配和使用内存
2.得到值不一样,列表推导式得到的是一个列表,生成器得到的是一个生成器,需要去触发这个生成器,触发一次,返回一次结果,还想要结果就需要再次触发
3. 字典推导式
3.1 把字典中的key和value位置互换
dic = {'a':1,'b':2}
new_dic = {dic[key]:key for key in dic}
print(new_dic)
# 结果:{1: 'a', 2: 'b'}
3.2 在以下list中,从list1中获取的数据和list2中相应的位置的数据组合成一个新的字典
list1 = ['阿里巴巴','腾讯','京东']
list2 = ['马云','马化腾','刘强东'] dic = {list1[n]:list2[n] for n in range(len(list1))}
print(dic)
# 结果:{'阿里巴巴': '马云', '腾讯': '马化腾', '京东': '刘强东'}
4. set推导式
可以直接帮我们生成一个无需,不重复的集合
lst = [1,1,2,2,3,3,55,366,5,4,55,45,87,62,3,4]
set1 = {n for n in lst}
print(set1)
# 结果:{1, 2, 3, 4, 5, 45, 366, 87, 55, 62}
list推导式,dict推导式,set推导式的更多相关文章
- Python基础8:列表推导式(list)字典推导式(dict) 集合推导式(set)
推导式分为列表推导式(list),字典推导式(dict),集合推导式(set)三种 1.列表推导式也叫列表解析式.功能:是提供一种方便的列表创建方法,所以,列表解析式返回的是一个列表格式:用中括号括起 ...
- python列表推导式详解 列表推导式详解 字典推导式 详解 集合推导式详解 嵌套列表推导式详解
推导式是Python中很强大的.很受欢迎的特性,具有语言简洁,简化代码,速度快等优点.推导式包括:1.列表推导式2.字典推导式3.集合推导式4.嵌套列表推导式注意: 字典和集合推导是最近才加入到Pyt ...
- 比较字典推导式/dict()/通过键来构造的字典的速率 笔记
# 下面结果执行一次不容易出差距,所以都执行100000次 import time dict1 = {'a':1, 'b':2, 'c':3, 'd':4} # 第一种:字典推导式 start_tim ...
- list dict set comprehension 列表推导式 (字典推导式,集合推导式)
从一个list生成新的list [ word.upper() for word in 'hellO worlD!' ] 简单的语法,如果不用list comprehension, 则要用更长的代码. ...
- 异步式I/O与实践式编程
阻塞 线程在执行中如果遇到磁盘读写或网络通信(统称为I/O操作)通常要消耗很长时间 这时操作系统会剥夺这个线程的CPU控制权,使其暂停执行,同时将资源让给其他工作线程 异步I/O 非阻塞IO 针对所有 ...
- 学JS的心路历程-函式(五)箭头函式
箭头函式arrow function 为了能够以更简短的方式建立函式,ES6变推出了箭头函式. 用说明的可能会不太懂,我们先拿之前的数组排序例子来看: var arr = [2,1,6,12,3,77 ...
- Python列表推导式和嵌套的列表推导式
列表推导式提供了一个更简单的创建列表的方法.常见的用法是把某种操作应用于序列或可迭代对象的每个元素上,然后使用其结果来创建列表,或者通过满足某些特定条件元素来创建子序列. 例如,假设我们想创建一个平方 ...
- vector是序列式容器而set是关联式容器。set包含0个或多个不重复不排序的元素。
1.vector是序列式容器而set是关联式容器.set包含0个或多个不重复不排序的元素.也就是说set能够保证它里面所有的元素都是不重复的.另外对set容器进行插入时可以指定插入位置或者不指定插入位 ...
- python的推导式 —— 列表推导式、集合和字典推导式
python的推导式是用于快速处理数据的方法. 主要有:列表推导式.集合推导式和字典推导式 import time import numpy as np 列表推导式: 1. 速度快 t1 = time ...
随机推荐
- JavaScript 函数 (function)
//声明(有参数.有返回值) function fun() { var name = '小黑'; ) { name = arguments[]; //接受参数 } alert(name); retur ...
- css随堂笔记(二)
css sub注释 注释不能嵌套 sub生成结构代码快捷 复合选择器 1.后代选择器 语法:选择器1 选择器2 选择器3 { 属性名:属性值 } 2.子代选择器 子代选择器语法: 选择器1> ...
- CSS Grid 布局学习笔记
CSS Grid 布局学习笔记 好久没有写博客了, MDN 上关于 Grid 布局的知识比较零散, 正好根据我这几个月的实践对 CSS Grid 布局做一个总结, 以备查阅. 1. 基础用法 Grid ...
- Eclipse reference
http://download.csdn.net/download/ling_min/4318719 http://www.qualityeclipse.com/eclipse-gef http:// ...
- Win7安装软件,装到microsoft.vc90.crt时卡住的解决办法
在安装某些程序的时候,可能会出现下列提示:an error occured during the installation of assembly ‘microsoft.vc90.crt,versio ...
- Android基础Activity篇——Toast
1.Toast Toast在英文中有烤面包的意思,而在安卓开发中是用来提醒用户的消息显示.我猜这里之所以用Toast为该功能命名可能是因为消息的弹出方式就像面包烤好了从面包机中弹出来一样. 2.使用T ...
- 微信小程序之性能优化
如果做前端仅仅停留在编码和实现业务功能上面,可能进步速度会有些慢,但是如果经历了对页面的性能优化之后而且有所成绩的话那就不同了,因为你对他背后的机制进行了研究,才能做好性能优化. 做微信小程序也是一样 ...
- thinkphp的find()方法获取结果
find方法返回的是一行记录,结果是一个数组,数组的key和sql中的field相对应,假设: $res=$model->find(filed="a,b,c"); 获取结果中 ...
- Arduino-串口函数Serial
串口是Arduino与其它设备进行通信的接口,我们需要很好的掌握它的使用.Arduino串口使用相关的函数共有10个(随着版本的升级,新版本加入了更多,具体请参见官网:http://www.ardui ...
- 5、Oracle备份(oracle备份脚本配置)
1.1 Oracle数据库备份 1.1.1 链接Oracle介质管理库 请在数据库节点上操作. [oracle@db01/usr/openv/netbackup/bin]$ ./oracle_link ...