列表特性:
有序的集合
通过偏移来索引,从而读取数据
支持嵌套
可变的类型
切片
正向索引(左-> 右):
>>> 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, 4
Pop:返回最后一个元素,并从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 a
True
>>> 5 in a
False
>>> 5 not in a
True
>>>
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‘
...
haha
reverse 函数: 反转一个list,它的返回值也为none
>>> a
[11, 22, 33, 44]
>>> b = a.reverse()
>>> b
>>> a //直接看a列表变量能看到翻转的效果
[44, 33, 22, 11]
>>>
本文出自 “永不放弃!” 博客,请务必保留此出处http://rockyjun.blog.51cto.com/8504719/1544886
原文地址:http://rockyjun.blog.51cto.com/8504719/1544886