列表特性:
有序的集合
通过偏移来索引,从而读取数据
支持嵌套
可变的类型
切片
正向索引(左-> 右):
>>> a = [1,2,3,4,5,6,7]
>>> a[0:4:1] # 1 是步长[1, 2, 3, 4]反向索引:
>>> a[-1:-4:-1] (右-左
)[7, 6, 5]>>>默认索引:
>>> a[1:]
[2, 3, 4, 5, 6, 7]列表的添加操作
>>> a = [1,2,3,4]
>>> b = [5,6,7,8]>>> a + b [1, 2, 3, 4, 5, 6,7,8] # 生成一个新的列表>>>Extend : 接受参数并将该参数的每个元素都添加到原有的列表中,原地修改列表而不是新建列表>>> a = [1,2,3]
>>> b = [4,5,6]>>>>>> a.extend(b)>>> a[1, 2, 3, 4, 5, 6]>>>Append :添加任意对象到列表的末端
>>> a = [1,2,3]
>>> a.append(4)>>> a[1, 2, 3, 4]>>> a.append([3,4,5]) //插入列表>>> a[1, 2, 3, 4, [3, 4, 5]]Insert: 插入任意对象到列表中,可以控制插入位置。[1, 2, 3, 4, [3, 4, 5]]>>>>>> a.insert(1,"abc")>>> a[1, 'abc', 2, 3, 4, [3, 4, 5]]列表的修改操作
修改列表本身只需要直接赋值操作就行。
>>> a = [1,2,3]
>>> a[1]='test'>>> a[1, 'test', 3]删除操作
Del :我们通过索引删除指定位置的元素
>>> a = [1,2,3,4,4]
>>> del a[0]>>> a[2, 3, 4, 4]remove:移除列表中指定值的第一个匹配值。如果没找到的话,则会抛出异常。
>>> a
[2, 3, 4, 4]>>> a.remove(4)>>> a[2, 3, 4Pop:返回最后一个元素,并从list中删除它。
>>> a = [1,2,3,4,5,6,7]
>>> a.pop()7>>> a[1, 2, 3, 4, 5, 6]list成员关系
In not in 我们可以判断一个元素是否在列表里,返回一个bool类型,若是true 则在list 中,反之则不在
>>> a = [1,2,3]
>>>>>> 2 in aTrue>>> 5 in aFalse>>> 5 not in aTrue>>>list 推导式
1.首先迭代iterable里所有内容,每一次迭代,都把iterable里相应内容放到iter_var中,再在表达式中应用该iter_var的内容,最后用表达式的计算值生成一个列表。
比我们要生成一个包含1到10的列表>>> [x for x in range(1,11)]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]>>>2. 加入了判断语句,只有满足条件的内容才把iterable里相应内容放到iter_var中,再在表达式中应用该iter_var的内容,最后用表达式的计算值生成一个列表。要生成包含1到10的所有奇数列表。range(1,11,2)
>>> range(1,11,2)[1, 3, 5, 7, 9]>>>排序翻转:sort,reverse
sort: 直接修改原列表, 它的返回值也为none
>>> a = [33,11,22,44]
>>> b = a.sort() //none>>>>>> b>>> if b is None:... print 'haha'>>> if b is None:... print 'haha'...hahareverse 函数: 反转一个list,它的返回值也为none
>>> a
[11, 22, 33, 44]>>> b = a.reverse()>>> b>>> a //直接看a列表变量能看到翻转的效果[44, 33, 22, 11]>>>