python常用数据结构:
1)列表
2)
3)
4)
列表的定义:
python中可以通过组合一些值得到多种复合型数据类型。列表是最常用的数据结构。列表通过方括号起、逗号分隔的一组值得到。一个列表可以包含不同类型的元素,但通常使用时各个元素类型相同
列表的特性(列表中定义的方法):
1)list.append(x):在列表的末尾添加一个元素。相当于a[len(a):]=[x]
2)list.insert(i,x):在给定的位置插入一个元素。第一个参数是要插入的元素的索引,以a.insert(0,x)插入列表头部,a.insert(len(a),x)等同于a.append(x)
3)list.remove(x):移除列表中第一个值为x的元素。如果没有这样的元素,则抛出ValueErro异常。代码示例:
a=["h","o",'n']try: a.remove("oo")print(a)except:print("有异常")
4)list.pop([i]):删除列表中给定位置(index)的元素并返回它。如果没有给定位置(但不能超出列表的长度),a.pop()将会删除并返回列表中最后一个元素。代码示例:
#删除下标为1的元素:“o"a=["h","o",'n'] a.pop(1)print(a)
#删除最后一个元素(下标为-1):“n"a=["h","o",'n'] a.pop()print(a)
#下标超出长度,会报错a=["h","o",'n'] a.pop(3)print(a)
5)list.sort(key=None,reverse=False):对列表中的元素进行排序(参数可用于自定义排序,解是请参见sorted())。key 可指定一些规则,reverse 默认值是False,可以给它赋值成True,那就是反向排序,可以自定义key函数排序)。自定义key代码示例如下:
#自定义key规则实现反转(对应的元素平方作比较决定元素的位置)a=[-2,1,5]def f(x):return x*x a.sort(key=f)print(a)
6)list.reverse():反转列表中的元素
a=[3,1,5] a.reverse()print(a)
7)list.clear():删除列表中所有的元素。相当于 del a[:]。代码示例:
a=[1,2,3,5] a.clear()print(a)
8)list.extend(iteable):使用可迭代对象中的所有元素来扩展列表。相当于a[len(a):]=iterable。代码示例:
a=[1,2,3,5] iterable=[7,8,9] a.extend(iterable)print(a)
输出结果为:
D:\pythonProject\venv\python基础\Scripts\python.exe D:/pythonProject/venv/python基础/python常用数据结构.py [1, 2, 3, 5, 7, 8, 9] Process finished with exit code 0
重点注意,这和a.append不同,a,append是会将整个iterable当作一个整体,作为一个元素放到a列表中。代码示例和结果输出如下:
a=[1,2,3,5] iterable=[7,8,9] a.append(iterable)print(a)
结果:
D:\pythonProject\venv\python基础\Scripts\python.exe D:/pythonProject/venv/python基础/python常用数据结构.py [1, 2, 3, 5, [7, 8, 9]] Process finished with exit code 0
9)list.index(x,start,end]):返回列表第一个值为x的元素的从零开始的索引。如果没有这样的元素,将抛出valueerror异常。代码示例如下:
a=[1,2,3,5]print(a.index(2, 0, 3))
结果将是1(2对应的列表中的下标是1),有返回值且返回值为对应的下标
10)list.count(x):返回元素x在列表中出现的次数。代码示例如下:
a=[1,2,1,3,1,1,1,5,[1,1,2,1]]print(a.count(1))
结果:
D:\pythonProject\venv\python基础\Scripts\python.exe D:/pythonProject/venv/python基础/python常用数据结构.py5Process finished with exit code 0
11)list.copy():返回列表的一个浅拷贝,相当于a[:]。代码示例:
a=[1,2,1,3,1,1,1,5,[1,1,2,1]]print(a.copy())
结果:
D:\pythonProject\venv\python基础\Scripts\python.exe D:/pythonProject/venv/python基础/python常用数据结构.py [1, 2, 1, 3, 1, 1, 1, 5, [1, 1, 2, 1]] Process finished with exit code 0
总结注意:
insert、remove或者sort方法,之修改列表,没有返回值(他们的返回值都是None)。这是python中所有可变数据结构的设计原则。并非所有数据或可以排序或比较(字符串和数字等)