1.1.1列表
来源:互联网 发布:网络营销策划发展状况 编辑:程序博客网 时间:2024/05/29 17:09
课程内容
列表:
1 有序的集合 a=[1,2,3] 有序的 按照顺序来的存储 这里的有序是指可以用切片根据下表进行索引的有序,而非会根据大小等排列
2 通过偏移来索引,从而读取数据 a=[1,2,3] 若取最后一个数字可以用a[2]或者a[-1]来取
3 支持嵌套b=[[1,2,3],[4,5,6]]
4 可变的类型 其中的值可以更换 比如 把2换成7 b[0][1]=7
1 切片: (不管是正还是反都往后多数一个数)
a = [1,2,3,4,5,6,7]
正向索引 取前四个 a[0:4:1]相当于从0个取到第4个步长为1(:) 个数0-4 个数减去1
反向索引取后三个a[-1:-4:-1]相当于从最后一个(-1)开始取,取到倒数第四个反向取(-1)个数 -1- -4个数减去1
默认索引
取第二个到最后 a[0:]不写默认取到最后,步长为1
取2,4,6 a[1::2]相当于从2开始取 取到最后切步长为2
2添加操作:(extend append insert)
+ 生成一个新的列表a=[1,2,3] b=[4,5,6] a+b则为[1,2,3,4,5,6]
Extend 接受参数并将该参数的每个元素都添加到原有的列表中,原地修改列表而不是新建列表(里面只能添加列表) a.extend(b) 则a=[1,2,3,4,5,6] 地址还是a的地址
Append :添加任意对象到列表的末端 a=[2,3,4] b=[5,6,7] a.append(b) 则a=[2, 3, 4, [5, 6, 7]]
a. append(4) a=[1,2,3,4]
添加数字就是数字 添加列表就是列表 这是和extend(只插入数字)的区别 也可以添加元组。
Insert: 插入任意对象到列表中,可以控制插入位置。
a.insert(1,’abc’) 则a=[1, 'abc', 2, 3]
a.insert(1,b) 则 a=[1, [5, 6, 7], 2, 3]
插入数字就是数字 插入列表就是列表
3 修改:
修改列表本身只需要直接赋值操作就行。
A = [1,2,3]
A[0]=’haha’
A=[‘haha’,2,3]
4 删除操作:
Del :我们通过索引删除指定位置的元素(可以利用切片的方法删除大段)。a=[1,2,3,4,4]
del a[1] a=[1, 3, 4, 4]
Remove:移除列表中指定值的第一个匹配值。如果没找到的话,会抛异常。
a=[1,2,3,4,4]
a.remove(2) a= [1, 3, 4, 4]
Pop:返回最后一个元素,并从list中删除它。
a=[1,2,3,4,4]
a.pop() 返回值为4 若输出a则 a= [1, 2, 3, 4]
5 成员关系:
In not in我们可以判断一个元素是否在列表里。
返回一个bool类型,元素在列表里返回true,否则返回fasle.
a=[1,2,3,4,4]
2 in a True
5 in a False
notin 则相反
6 列表推导式:
[expr for iter_var in iterable] iter_var迭代变量 iterable]迭代器 expr表达式
1首先迭代iterable里所有内容,每一次迭代,都把iterable里相应内容放到iter_var中,再在表达式中应用该iter_var的内容,最后用表达式的计算值生成一个列表。
[expr for iter_var initerable] 生成新列表与iterable格式一样把iterable的值带到expr中计算得出数之后按iterable格式写出来即可
比如我们要生成一个包含1到10的列表
[x for x in range(1,11)] x为iter_var range(1,11)为iterable
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Range(1,11) 11-1总个数
[1, 2, 3, 4, 5, 6,7, 8, 9, 10]
[expr for iter_var initerable if cond_expr]
2加入了判断语句,只有满足条件的内容才把iterable里相应内容放到iter_var中,再在表达式中应用该iter_var的内容,最后用表达式的计算值生成一个列表。
要生成包含1到10的所有奇数列表。
range(1,11,2)
[x for x in range(1,11) if x % 2 == 1]
7 排序翻转:sort,reverse
a = [33,11,22,44]
这个方式直接修改原列表。他的返回值为none,所以
b = a.sort()
print b 输出的内容是None
我们直接输出a列表变量
a=[11, 22, 33, 44]从小到大排序 若赋值给b则输出值为None
list的reverse函数:反转一个list,他的返回值为none
比如上面的列表a
b = a. reverse()
print b 输出的内容是None
直接看a列表变量能看到翻转的效果。
a=[44, 33, 22, 11] 结果从大到小排序了 则背反转了
练习笔记
1修改(a[1:4])可以选取一段(保留中间的)而删除指令 del则可以删除一段(保留两边的)
2显示的时候 print(a.append(b))返回的是None如果要显示具体数值则应该分开写
append(b)
print(a)
3‘+’和append两个比较 第一个是直接合并第二个是带着列表一起合并
4 [x for x inrange(1,11)] 本身就是一个列表不用在print直接就能显示出来。而且这样表达式是每一行就显示一个数如果先变成行的形式则需
a=[x for x in range(20,101)if x%2==0]
print(a)
- 1.1.1列表
- Android列表实现(1)_数组列表
- 1.1.2列表应用
- 收藏列表1
- 下拉列表(1)
- 11.4.1 无穷列表
- 数据结构1 顺序列表
- 散列表1
- Python数据类型 -- 列表1
- 11.4.1 无穷列表
- 列表(1)
- HTML 标签列表(1)
- 【python】列表实例1
- CSS之列表1
- 笔记 - 1、HTML - 列表
- 【10-1】生成列表
- python列表学习1
- Doxygen注意事项列表1
- C#设计模式(3)-工厂方法模式
- 26. Remove Duplicates from Sorted Array
- 云上如何做冷热数据分离
- 从最大似然到EM算法浅解
- 用composer搭建php框架(四)--MVC之视图
- 1.1.1列表
- 检查链表是否为回文 python实现
- Android Zygote启动流程源码解析
- web实现进入指定目录
- Android 如何解决Android的库自定义属性和生成过程中的包名重映射?
- java.lang.AbstractMethodError: org.apache.bval.jsr303.ConfigurationImpl.getDefaultParameterName....
- JAVA连接Redis错误提示(一)
- 乘法逆元+扩展欧几里得+Lucas
- ActiveMQ入门教程