1,创建列表
>>> list1=[‘a‘,‘b‘,‘c‘,‘d‘] >>> list2=[1,2,3,4] >>> list3=[‘a‘,‘b‘,‘c‘,1,2,3]
2,访问列表中的值
>>> print ‘list1[0]:‘,list1[0] list1[0]: a >>> print ‘list2[2]:‘,list2[2] list2[2]: 3
负数索引值计算公式list[-n]==list[len(list)-n]
>>> list1[-2]==list1[len(list1)-2] True >>>
3修改或更新列表
>>> print ‘list1[1]:‘,list1[1] list1[1]: b >>> list1[1]=3 >>> print ‘list1[1]:‘,list1[1] list1[1]: 3 >>>
4,删除列表元素
>>> list1 [‘a‘, 3, ‘c‘, ‘d‘] >>> del list1[1] >>> list1 [‘a‘, ‘c‘, ‘d‘]
5,截断获取list值
>>> list1 [1, 2, 3, 4, 5, 6, 7] >>> list1[1:4] [2, 3, 4] >>> list1[1:-1] [2, 3, 4, 5, 6] >>> list1[1:] [2, 3, 4, 5, 6, 7] >>> list1[:] [1, 2, 3, 4, 5, 6, 7]
1、从1开始但不包含3的List
2、从list的第二个元素到list最后一个元素之间的,但不包括最后一个
3、按下标从0到3的,但不包括3的
效果同上,0可以省略
4、从下标n到数组最后一个,包括最后一个
5、list的全部元素
6,添加元素
>>> list1 [1, 2, 3, 4, 5, 6, 7] >>> list1+=[‘a‘,‘b‘] >>> list1 [1, 2, 3, 4, 5, 6, 7, ‘a‘, ‘b‘] >>>list1.append("hello") >>> list1 [1, 2, 3, 4, 5, 6, 7, ‘a‘, ‘b‘, ‘hello‘] >>> list1.append([1,2]) >>> list1 [1, 2, 3, 4, 5, 6, 7, ‘a‘, ‘b‘, ‘hello‘,[1, 2]] >>>list1.extend([‘one‘,‘two‘,‘three‘]) >>> list1 [1, 2, 3, 4, 5, 6, 7, ‘a‘, ‘b‘, ‘hello‘,[1, 2], ‘one‘, ‘two‘, ‘three‘] >>> list1.extend(‘jia‘) >>> list1 [1, 2, 3, 4, 5, 6, 7, ‘a‘, ‘b‘, ‘hello‘,[1, 2], ‘one‘, ‘two‘, ‘three‘, ‘j‘, ‘i‘, ‘a‘] >>> list1.insert(0,‘a‘) >>> list1.insert(2,‘b‘) >>> list1 [‘a‘, 1, ‘b‘, 2, 3, 4, 5, 6, 7, ‘a‘, ‘b‘,‘hello‘, [1, 2], ‘one‘, ‘two‘, ‘three‘, ‘j‘, ‘i‘, ‘a‘] >>>
1、使用+号操作符连接list创建新的list,list没有数量限制,但这种操作实际是创建了2个list对内存消耗比较大
2、list可以装载任意数据类型的元素,不必是同一类型
3、append()方法可以将一个元素(任意数据类型)添加到list末尾
4、List实际是个类,创建一个List实际上是实例化一个类,extend()方法接收一个list作为参数并把新list的每个元素添加到原有的list中
5、insert()方法添加一个元素到list中,第一个参数是添加到list的位置的索引值
list的元素可以重复
7,list值操作
>>> list1 [‘a‘, 1, ‘b‘, 2, 3] >>> list1.count() Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: count() takes exactly oneargument (0 given) >>> list1.count(‘b‘) 1 >>> list1.count(2) 1 >>> ‘b‘ in list1 True >>> 4 in list1 False >>> list1.index(3) 4 >>> list1.index(‘3‘) Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: list.index(x): x not in list >>> list1.index(‘b‘) 2 >>> list1.index(‘d‘) Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: list.index(x): x not in list >>>
1、count()方法返回查找值在list中的数量
2、如果只想知道是否包含查找的值可以使用in,返回True 或 False,这种方法要比count()方法速度快
3、使用index()方法返回值所在的索引值,也可以添加第二个参数作为查找开始位置,第三个参数作为查找结束为止
4、index()方法只返回第一次查找到的位置
5、因为-1在Python中是有意义的索引值,所以index()方法没有找到对应的位置会抛异常
8,删除
Remove删除
>>> list1 [‘a‘, 1, ‘b‘, 2, 3] >>> list1.remove(‘b‘) >>> list1 [‘a‘, 1, 2, 3] >>> list1.remove(‘b‘) Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: list.remove(x): x not in list >>>
1、使用remove()方法,remove方法接受一个值,并将第一个遇到的删除,同样下标无间隙
2、使用remove方法未能移除一个值时会抛异常
使用pop方法移除
>>> list1 [‘a‘, 1, 2, 3] >>> list1.pop() 3 >>> list1 [‘a‘, 1, 2] >>> list1.pop() 2 >>> list1.pop() 1 >>> list1.pop() ‘a‘ >>> list1.pop() Traceback (most recent call last): File "<stdin>", line 1, in <module> IndexError: pop from empty list
1、调用pop()方法不给参数,将默认删除list的最后一个元素
2、调用pop()方法并传一个索引值,将会删除特定位置的值
3、在空的list调用pop()方法会抛异常