day 3 list列表生成式
1.定义一个list列表,里面元素是0-33
a = [] i = 0
while i<33:
a.append(i)
i+=1 print(a)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32]
2.range (切片)
1)python2 版本
range风险:python2 版本中,有时候一次性申请很大的内存,不会给你
#### range 返回list列表 和切片功能相同
In [1]: range(10)
Out[1]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] In [2]: range(10,17)
Out[2]: [10, 11, 12, 13, 14, 15, 16] In [3]: range(10,17,2)
Out[3]: [10, 12, 14, 16]
In [5]: range(0,100000) ### 运行结果
994,
995,
996,
997,
998,
999,
...]
In [5]: range(0,1000000000)
---------------------------------------------------------------------------
MemoryError Traceback (most recent call last)
<ipython-input-5-30124a0b9388> in <module>()
----> 1 range(0,1000000000) MemoryError:
##range风险:python2 版本中,有时候一次性申请很大的内存,不会给你
2)python3版本:要一个数字,给你一个,不会全部一次性给
In [1]: range(0,10)
Out[1]: range(0, 10) In [2]: range(10)
Out[2]: range(0, 10) In [3]: range(0,100000000)
Out[3]: range(0, 100000000)
3.列表生成式
1) a = [ i for i in range(0,18) ]
In [6]: a = [i for i in range(0,18)] In [7]: a
Out[7]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17] In [8]: a = [22 for i in range(0,18)] #for只负责循环的次数17次 In [9]: a
Out[9]: [22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22]

2) a = [ i for i in range(10) if i%2==0 ]
In [10]: a = [i for i in range(10) if i%2==0] In [11]: a
Out[11]: [0, 2, 4, 6, 8]
3) d = [ (i,j) for i in range(3) for j in range(2)]
In [15]: d = [ i for i in range(3) for j in range(2)] In [16]: d
Out[16]: [0, 0, 1, 1, 2, 2] In [17]: d = [ i,j for i in range(3) for j in range(2)]
File "<ipython-input-17-0277977bdeb0>", line 1
d = [ i,j for i in range(3) for j in range(2)]
^
SyntaxError: invalid syntax
In [19]: d = [ (i,j) for i in range(3) for j in range(2)] In [20]: d
Out[20]: [(0, 0), (0, 1), (1, 0), (1, 1), (2, 0), (2, 1)] #坐标轴

4)e = [(i,j,k) for i in range(3) for j in range(2) for k in range(2)]
In [21]: e = [(i,j,k) for i in range(3) for j in range(2) for k in range(2)] In [22]: e
Out[22]:
[(0, 0, 0),
(0, 0, 1),
(0, 1, 0),
(0, 1, 1),
(1, 0, 0),
(1, 0, 1),
(1, 1, 0),
(1, 1, 1),
(2, 0, 0),
(2, 0, 1),
(2, 1, 0),
(2, 1, 1)]
day 3 list列表生成式的更多相关文章
- python迭代器和生成器(3元运算,列表生成式,生成器表达式,生成器函数)
1.1迭代器 什么是迭代器: 迭代器是一个可以记住遍历的位置对象 迭代器对象从集合的第一个元素元素开始访问,直到所有元素被访问完结束,迭代器只能往前不会后退. 迭代器有两个基本方法:iter ,nex ...
- python学习道路(day5note)(列表生成式,生成器,装饰器,常用模块)
生成列表的方式 data = [1,2,3] 需求 每个数字加上1 # data = ( x*2 for x in range(5)) print(data) 列表生成式 后面的I赋予加1操 ...
- python基础——列表生成式
python基础——列表生成式 列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式. 举个例子,要生成list [1, 2, 3, 4 ...
- python学习笔记——列表生成式与生成器
1.列表生成式(List Comprehensions) python中,列表生成式是用来创建列表的,相较于用循环实现更为简洁.举个例子,生成[1*1, 2*2, ... , 10*10],循环用三行 ...
- Python的高级特性之切片、迭代、列表生成式、生成器
切片 切片就是获取一个list.tuple.字符串等的部分元素 l = range(100) #取[0,5)元素 print(l[:5]) #[0, 1, 2, 3, 4] #在[0,99]中每隔10 ...
- Python学习笔记6(列表生成式)
1.生成列表 要生成list [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],我们可以用range(1, 11): >>> range(1, 11) [1, 2, 3 ...
- Python 列表生成式、生成器、迭代器
列表生成式 列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式. 如果要生成[1x1, 2x2, 3x3, ..., 10x10]怎么 ...
- Python学习笔记(六)Python的列表生成式、生成器
列表生成式 List Comprehensions 列表生成式是Python内置的非常简单却强大的可以用来创建list的生成式. 简单的数值范围的list可以使用一下方式生成: >>> ...
- python基础:列表生成式和生成器
列表生成式(List Comprehension) 列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式. 举个例子,要生成 list ...
- python之列表生成式
列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式. 1,比如:要生成list [1, 2, 3, 4, 5, 6, 7, 8, 9, ...
随机推荐
- Allocate exception for servlet ValidateUsernameServlet 异常
如果eclipse无法对类文件进行编译那么运行时就会发生 Allocate exception for servlet ValidateUsernameServlet 异常,说找不到类.
- Springmvc 进行数据类型转换
SpringMVC进行一些常用的数据类型转换,这里以Date 数据类型的转换为例. SpringMVC表单中输入日期,一般都是以字符串的形式输入,如何将字符形式的日期转换为Date 类型的呢?这里只需 ...
- bzoj5152 [Wc2018]通道
题目链接 正解:不会做. 写一个爬山算法就过官方数据了(逃 具体来说就是每次随机一个根,然后迭代找最长路的那个点. 多随机几次取$max$就行了.正解以后再补.. #include <bits/ ...
- 2018 Multi-University Training Contest 4 Problem B. Harvest of Apples 【莫队+排列组合+逆元预处理技巧】
任意门:http://acm.hdu.edu.cn/showproblem.php?pid=6333 Problem B. Harvest of Apples Time Limit: 4000/200 ...
- ECMAScript6 Generator & async
Generator Generator函数是一个状态机,执行后返回一个遍历器对象.调用遍历器对象的.next()函数获取下一个状态. Generator是一个普通的函数,函数内部使用yield关键字定 ...
- 二十二、详述 IntelliJ IDEA 中恢复代码的方法
在咱们正常开发项目的时候,难免遇到在开发过程中由于某种原因,想要将代码恢复到前一版本的情景.特别是在咱们删除了某些代码,想要恢复之前删除的代码的时候,了解这个在 IntelliJ IDEA 中恢复代码 ...
- Redis(RedisTemplate)运算、算法(incr、decr、increment)
RedisTemplate配置:https://www.cnblogs.com/weibanggang/p/10188682.html package com.wbg.springRedis.test ...
- [转] 各种Json解析工具比较 - json-lib/Jackson/Gson/FastJson
JSON技术的调研报告 一 .各个JSON技术的简介和优劣1.json-libjson-lib最开始的也是应用最广泛的json解析工具,json-lib 不好的地方确实是依赖于很多第三方包,包括com ...
- 移动端web开发技巧和常见问题
常见问题 1.移动端如何定义字体font-family 三大手机系统的字体: ios 系统 默认中文字体是Heiti SC 默认英文字体是Helvetica 默认数字字体是HelveticaNeue ...
- iOS | NSProxy
Objective-C作为一种动态消息型语言,其机制不同于Java ,C#等编译型语言. 它将数据类型的确定等工作推迟到了运行时期来执行,并且它调用方法的方式实质是像对象发送消息,根据selector ...