列表:
特点:
1 有序的集合
2 通过偏移来索引,从而读取数据
3 支持嵌套
4 可变的类型
操作:
1 切片
2 添加操作
3 修改
4 删除操作
5 成员关系
6 列表推导式
7 排序翻转
1 切片:
a = [1,2,3,4,5,6,7]
正向索引
反向索引
默认索引
2添加操作:
+ 生成一个新的列表
B = A+[5,6,7,8]
Extend : 接受参数并将该参数的每个元素分个添加到原有的列表中,原地修改列表而不是新建列表
Append :添加任意对象整体的到列表的末端
Insert: 插入任意对象到列表中,可以控制插入位置,位置上的原元素向后移。
a = [1,2,3]
b = [4,5,6]
a.extend(b)
print a
a.append(b)
print a
a.insert(len(a),b)
print a
[1, 2, 3, 4, 5, 6]
[1, 2, 3, 4, 5, 6, [4, 5, 6]]
[1, 2, 3, 4, 5, 6, [4, 5, 6], [4, 5, 6]]
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中,再在表达式中应用该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列表变量能看到翻转的效果。