生成一个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推导式的更多相关文章

  1. Python基础8:列表推导式(list)字典推导式(dict) 集合推导式(set)

    推导式分为列表推导式(list),字典推导式(dict),集合推导式(set)三种 1.列表推导式也叫列表解析式.功能:是提供一种方便的列表创建方法,所以,列表解析式返回的是一个列表格式:用中括号括起 ...

  2. python列表推导式详解 列表推导式详解 字典推导式 详解 集合推导式详解 嵌套列表推导式详解

    推导式是Python中很强大的.很受欢迎的特性,具有语言简洁,简化代码,速度快等优点.推导式包括:1.列表推导式2.字典推导式3.集合推导式4.嵌套列表推导式注意: 字典和集合推导是最近才加入到Pyt ...

  3. 比较字典推导式/dict()/通过键来构造的字典的速率 笔记

    # 下面结果执行一次不容易出差距,所以都执行100000次 import time dict1 = {'a':1, 'b':2, 'c':3, 'd':4} # 第一种:字典推导式 start_tim ...

  4. list dict set comprehension 列表推导式 (字典推导式,集合推导式)

    从一个list生成新的list [ word.upper() for word in 'hellO worlD!' ] 简单的语法,如果不用list comprehension, 则要用更长的代码. ...

  5. 异步式I/O与实践式编程

    阻塞 线程在执行中如果遇到磁盘读写或网络通信(统称为I/O操作)通常要消耗很长时间 这时操作系统会剥夺这个线程的CPU控制权,使其暂停执行,同时将资源让给其他工作线程 异步I/O 非阻塞IO 针对所有 ...

  6. 学JS的心路历程-函式(五)箭头函式

    箭头函式arrow function 为了能够以更简短的方式建立函式,ES6变推出了箭头函式. 用说明的可能会不太懂,我们先拿之前的数组排序例子来看: var arr = [2,1,6,12,3,77 ...

  7. Python列表推导式和嵌套的列表推导式

    列表推导式提供了一个更简单的创建列表的方法.常见的用法是把某种操作应用于序列或可迭代对象的每个元素上,然后使用其结果来创建列表,或者通过满足某些特定条件元素来创建子序列. 例如,假设我们想创建一个平方 ...

  8. vector是序列式容器而set是关联式容器。set包含0个或多个不重复不排序的元素。

    1.vector是序列式容器而set是关联式容器.set包含0个或多个不重复不排序的元素.也就是说set能够保证它里面所有的元素都是不重复的.另外对set容器进行插入时可以指定插入位置或者不指定插入位 ...

  9. python的推导式 —— 列表推导式、集合和字典推导式

    python的推导式是用于快速处理数据的方法. 主要有:列表推导式.集合推导式和字典推导式 import time import numpy as np 列表推导式: 1. 速度快 t1 = time ...

随机推荐

  1. CentOS 搭建Redis4 环境

    下载 wget http://download.redis.io/releases/redis-4.0.10.tar.gz   安装步骤 tar xvf redis-4.0.10.tar.gz mak ...

  2. Day5下

    T1 #include<iostream> #include<cstring> #include<cstdio> #include<algorithm> ...

  3. Python人工智能之初识接口

    本节需要的两个工具: 1.FFmpeg: 链接:https://pan.baidu.com/s/1jonSAa_TG2XuaJEy3iTmHg 密码:w6hk 2.baidu-aip: pip ins ...

  4. JQ的事件绑定

    一.事件的绑定:可以添加多个同类事件 $("").click(function(){ }) $("").on(事件名,函数) $("").o ...

  5. spring-cloud构架微服务(2)-全局配置二

    接上篇,实际项目中,可能会遇到有些配置项,例如:邮件地址.手机号等在服务已经上线之后做了改动(就当会出现这种情况好了).然后你修改了配置信息,就得一个一个去重启对应的服务.spring-全局配置提供了 ...

  6. [UnityShader]点染队列、ZWrite和ZTest

    转载自:http://www.myexception.cn/mobile/1902628.html [UnityShader]渲染队列.ZWrite和ZTest 参考链接:http://blog.cs ...

  7. 如何找到Android app启动activity和页面元素信息

    在实施app自动化的时候,我们需要知道app 的启动activity和页面元素信息,以此启动app和定位页面元素,那么如何在没有源码的情况下找打他们呢?当然是有好的工具啦,有Android sdk自带 ...

  8. php的yii框架开发总结2

    开发流程:1.用yii创建网站目录,当时用命令行创建时遇到了问题,试了很久才找到原因:我的原因是在yii/framework/yiic.bat这个文件中的一条语句: if "%PHP_COM ...

  9. 开始用PyTorch

    怎么说呢,TensorFlow有些实现过于蛋疼,我需要使用更实用的框架. 目前在读https://github.com/chenyuntc/pytorch-book

  10. 二叉搜索树实现MAP

    二叉搜索树的基本实现. /* Date: 2014-04-29 purpose: An implementation of MAP using binary search tree. */ #ifnd ...