一、 Python数据结构
1. list
list作为最常见的内置数据结构,非常适合用顺序和位置定义某一元素
b=a: a, b指向一个对象 ;b=a.copy(): a, b指向不同对象 (适用list,set,dict)
sort 对list进行排序,在list长度小的时候使用插入排序,在长度大的时候使用快排,所以其时间复杂度可以视为O(nlgn)
count 记录特定值出现的次数
append 在list的结尾追加一个元素
insert 指定位置之前插入元素
del 指定位置删除元素
pop 获取并删除指定位置元素 默认最后一个
index 查询特定值的位置(只返回出现的第一个位置)
切片 python强大的语法糖之一,不仅可以用非负数索引,负数索引(-1表示最后一个数)的合理使用可以节省不少代码量
- a[0 : 2 :] : 前闭后开
- a[: : -1]:列表逆序
+= 合并列表
join 列表、集合转化为字符串
l1 = [2,3,1,0,9]
l1.sort() # l1=[0, 1, 2, 3, 9]
sorted(l1) # [0, 1, 2, 3, 9]
sorted(l1, reverse=True) # [9, 3, 2, 1, 0]
l1.insert(-1,6) #l1=[0, 1, 2, 3, 6, 9]
del l1[-1] #l1=[0, 1, 2, 3, 6]
l1.index(6) # 4
a = list('letters') #['l', 'e', 't', 't', 'e', 'r', 's']
a.count('e') # 2
len(a) #7
name = ['Bob','Harry','Kate']
joined = ','.join(name) # 'Bob,Harry,Kate'
joined.split(',') # ['Bob','Harry','Kate']
2. 元组
与列表类似,元组也是任意类型元素组成的序列,但是,元组是不可变的,可以看做是一个常量列表
创建包含一个(最后一个也不能省略)或多个元素的元组时,每一个元素后面都跟着一个逗号\
不借助临时变量对多个变量值进行变换
empty_tuple = ()
one_tuple = '