基础篇09-python基本数据结构-列表
课程内容
列表:
1 有序的集合
2 通过偏移来索引,从而读取数据
3 支持嵌套
4 可变的类型
1 切片:
a = [1,2,3,4,5,6,7]
正向索引
反向索引
默认索引
2添加操作:
+ 生成一个新的列表
Extend 接受参数并将该参数的每个元素都添加到原有的列表中,原地修改列表而不是新建列表
Append :添加任意对象到列表的末端
Insert: 插入任意对象到列表中,可以控制插入位置。
3 修改:
修改列表本身只需要直接赋值操作就行。
A = [1,2,3]
A[0]=’haha’
4 删除操作:
Del :我们通过索引删除指定位置的元素。
Remove:移除列表中指定值的第一个匹配值。如果没找到的话,会抛异常。
Pop:返回最后一个元素,并从list中删除它。
5 成员关系:
In not in我们可以判断一个元素是否在列表里。
返回一个bool类型,元素在列表里返回true,否则返回fasle.
6 列表推导式:
[expr for iter_var in iterable]
1首先迭代iterable(迭代器)里所有内容,每一次迭代,都把iterable(迭代器)里相应内容放到iter_var(迭代变量)中,再在expr(迭代表达式)中应用该iter_var的内容,最后用表达式的计算值生成一个列表。
比如我们要生成一个包含1到10的列表
[x for x in range(1,11)]
Range(1,11)
[expr for iter_var in iterable 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列表变量
list的reverse函数:反转一个list, 他的返回值为none
比如上面的列表a
b = a. reverse()
print b 输出的内容是None
直接看a列表变量能看到翻转的效果。
基础篇10-python基本数据结构-列表应用
1、内置list方法
返回一个列表,参数是可迭代对象。输出的内容保持了传入的可迭代对象的元素和顺序。如果参数为空,则返回一个空的列表。
注意参数可以是字符串,也可以是元组、字典,不可以是数字,因为数字不是可迭代对象。
串=
注意下面生成字典,元组的的前一个参数变为键,后一个参数变为值。后面的相同键、不同值会把前面的覆盖。
4、再谈引用
b是***laowang
del b只是删除了b对列表的引用,没有b了。a还存在。
同理,del b[2]也只是改变了b的引用,a还是不变。
del a[:]是将a引用的位置指向了一个空列表。