列表:是python内置的一种数据类型;是由一系列按特定顺序排列的元素组成。
note:list是有序,动态,可变的;列表中可以包含一种或几种数据类型,名称一般用复数。
用 [ ] 来表示列表,中间的元素用逗号,分隔开。例如 : [ 'a' , 'b', 'c']
一.列表的常见操作:(增删改查)
1.访问列表元素 lst[index] index不可界 列表最后一个元素索引为len(list) - 1 (查)
note:下表是索引值从零开始,位置从1开始。
>>> x = [1,'a',True,'haha']
>>> x[2]
True
>>> x[-1]
'haha'
2.列表的长度
用len函数可以获取list元素的个数
>>> x = [1,'a',True,'haha']
>>> x[2]
True
>>> x[-1]
'haha'
>>> len(x)
4
3.在list中增加数据 (增)
3.1.append
语法:lst.append(object) ->append object to end 等同于 lst[len(lst):len(lst)] =[object]
note:参数不可以省略,可以是'','_' 都可以,不用指定位置。
使用append可以先创建新列表,再加入数据。直接就地修改列表,不会返回修改后的新列表,而是直接修改旧列表。
>>> x = [1,'a',True,'haha']
>>> x.append('apple')
>>> print(x)
[1, 'a', True, 'haha', 'apple']
>>> x = []
>>> x.append(1)
>>> x.append('a')
>>> x.append(True)
>>> x.append('haha')
>>> x.append('apple')
>>> print(x)
[1, 'a', True, 'haha', 'apple']
3.2. insert
语法:lst.insert[index,object] 在列表指定位置插入数据,不是索引。
note:当列表为空时使用insert,不会报错,不用担心index是否超界。如果想在列表开头添加元素,只需执行lst.insert(0,object)
是对append的一种补充。
>>> x = [1, 'a' ,True ,'haha']
>>> x.insert(1,'c') #在1位置后插入一个元素
>>> print(x)
[1, 'c', 'a', True, 'haha']
>>> x.insert(-1,'g') # 在 -1位置后插入一个元素
>>> print(x)
[1, 'c', 'a', True, 'g', 'haha']
4.修改元素 (改)
通过索引进行修改。
>>> x = [1, 'a' ,True ,'haha']
>>> x[0] = 'apple'
>>> print(x)
['apple', 'a', True, 'haha']
5.删除元素(根据值或者位置删除) 删除的元素不使用,用del和remove,使用元素用pop 删
5.1 del
语法:del lst[index]
note:索引不可超界,一定要知道位置删除,如果列表为空也会报错; 永久删除
也可以直接删除lst ,del lst
>>> x = [1, 'a' ,True ,'haha']
>>> del x[0]
>>> print(x)
['a', True, 'haha']
>>> del x[4]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: list assignment index out of range
5.2 pop
语法:lst.pop([dex]) remove and return object at index(default last)
note:超界或者为空会导致IndexError. pop是唯一既修改列表又返回非None的列表方法。
先append 再pop 就是LIFO(last in first out)后进先出
先insert(0,obj) 再pop 就是FIFO(first in first out) 先进先出
>>> x = [1, 'a' ,True ,'haha']
>>> x.pop()
'haha'
>>> result = x.pop()
>>> print(result)
True
>>> x = [1, 'a' ,True ,'haha']
>>> result = x.pop(2)
>>> print(result)
True
5.3 remove
语法:lst.remove(object)
note:没有返回值,默认删除列表第一个值,有多个值时,也只能删除第一个,删除全部需使用循环。
>>> x = [1, 'a' ,True ,'haha']
>>> x.remove('a')
>>> print(x)
[1, True, 'haha']
>>> x =[1,'a','c','a']
>>> x.remove('a')
>>> print(x)
[1, 'c', 'a']
6.查找元素:判断指定数据是否在列表中
语法: in \\\ not in
>>> x = [1, 'a' ,True ,'haha']
>>> result = 'a' in x
>>> print(result)
True
>>> result = 'b' not in x
>>> print(result)
True