第四节课:列表

一、特点:

1. 有序集合
2. 通过偏移量索引
2. 支持嵌套
3. 是可变的类型

a = [1,2, 3,4,5]
a[-1]
a = [[1,2],["a","b"]]
a[0] = [3,4]

1. 切片
a = [1,2,3,4,5,6,7]

正向切片
反向索引
默认索引

# 注意步骤长前面仍是冒号

a[0:4:1] # 正向
a[-1:-4:-1] # 反向
a[1::2] # 默认值为总长度
a[0::2]

二、添加操作
1. + 生成一个新的列表
2. Extend 接受参数并将该参数的每个元素添加到原有的列表中,原地修改列表,而不是新建列表
3. Append:添加任意对象到列表的末端
4. Insert: 插入任意对象到列表中,可以控制位置

a = [1,2,3]
b = [4,5,6]
a + b
a.extend(b)

三、列表的修改操作
修改列表本身只需要直接赋值操作即可
a = [1,2,3]
a[0] = 'haha'

四、删除操作
1. Del: 我们通过索引删除指定位置的元素
2. Remove:移除列表中指定值的第一个匹配值. 如果没有,则返回
3. Pop: 返回最后一个元素,并从列表中删除

a = [1,2,3,4,5,4]
del a[0]
a.del(a[0]) 错误

a.remove(4)
a.remove(6) 异常

a.pop()

五、成员关系
in not in 可以判断一个元素是否在列表里面
返回一个bool类型, 元素在列表里返回True, 否则返回False

六、列表推导式
[expr for iter_var in iterable]
首先迭代 iterable里面所有内容, 每一次迭代, 都把iterable 里相应内容放到iter_var中,表达式中应用iter_var生成一个列表.

[x+2 for x in range(1,11)]
range(1,11)


[expr for iter_var in iterable if cond_expr]
加入了判断语句,只有满足条件才把iterable中内容提取赋予 iter_var, 然后表达式中应用生成一个列表.

range(1,11,2)
[x for x in range(1,11) if x % 2 == 1]


七、排序翻转:sort reverse

这个方式直接修改原里列表. 他的返回值为none.

a = [11,2,34,128]
b = a.sort()
print a, b

c a.reverse()
print a, c

 

posted on 2016-05-19 23:03  慧命  阅读(150)  评论(0编辑  收藏  举报

导航