python基本数据结构的基本操作笔记

列表list

1.index(value,[start[,stop]]): 查找值,返回索引
2.count(value): 返回列表中匹配值的次数
3.len(list): 返回元素个数
4,append(object): 列表尾部追加元素
5.insert(index,object): 在指定索引处插入元素
6.extend(iteratable): 将可迭代对象的元素追加进来,原地修改,返回None
7.remove(value): 移除列表第一个匹配的值,就地修改,返回None
8.pop([index]): 指定索引,从索引处移除元素;不指定索引,尾部移除元素
9.clear(): 清空列表
10.reverse(): 列表反转,就地修改,返回None
11.sort(key=None,reverse=False): 列表排序,默认升序;reverse为True,反转,降序。注意这个是按原址排序,会影响本身结构的,所以对元组不可用。
12.sorted(),与sort类似,返回一个有序的副本,不影响本身结构,可以对元组使用
【sort中key的可选参数】

默认是按照ASCII码排序的
sort(对象,key=len,reverse=False) #表示依据每个元素的长度排列
sort(对象,key=operator.itemgetter(1))#指定依据元素对象第一维的参数来排序 ,需要import operator模块
sort(对象,key=lamda x:x[1]) #跟上面类似,也是用来指定一个比较的维度的

元组tuple

1.index(value,[start[,stop]]): 查找值,返回索引
2.count(value): 返回元组中匹配值的次数
3.len(tuple): 返回元素个数

字典 dict

1.get(key,默认值) #如果key不存在就返回默认值
2.clear() #删除字典内所有元素
3.copy() #返回一个字典的浅复制
4.fromkeys() #创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
5.has_key(key) #如果键在字典dict里返回true,否则返回false
6.items() #以列表返回可遍历的(键, 值) 元组数组
7.keys() #以列表返回一个字典所有的键
8.setdefault(key, default=None) #和get()类似, 但如果键不已经存在于字典中,将会添加键并将值设为default
9.update(dict2) #把字典dict2的键/值对更新到dict里
10.values() #以列表返回字典中的所有值
11.iteritems() #与items()比较,在需要迭代结果的时候最适合使用
删除:pop #删除并返回对应的健与值
修改:dict['key']=value_changed

集合 sets

集合可变无序
1.add(elem) 增加一个元素到集合,如果元素存在,什么也不做
2.update(*others) 合并其他元素到集合中,参数是可迭代对象,就地修改
3.remove(elem) 移除元素,元素不存在,抛出KeyError异常
4.discard(elem) 移除元素,元素不存在,什么也不做
5.pop() 移除并返回任意的元素,空集返回KeyError异常
6.clear() 移除所有元素

集合运算:
并集:union(others) #等同于update
交集:intersection(
others) #
差集:difference(*others) #
对称集差:symmetric_difference(other) #

字符串str

分割:
split系:
split(sep=None,maxsplit= -1) 从左至右,sep指定分割字符串,maxsplit指定分割次数,-1表示遍历整个字符串
rsplit(sep=None,maxsplit= -1) 从右至左,sep指定分割字符串,maxsplit指定分割次数,-1表示遍历整个字符串
splitlines([keepends]) 按照行来切分字符串,keepends指是否保留行分隔符
partition系:
partition(sep) 从左至右,把字符串分割成两部分,返回头,分隔符,尾三部分的三元组,如果没有找到分隔符,返回头,两个空元素的三元组;sep分割字符串,必须指定
rpartition(sep) 从右至左,把字符串分割成两部分,返回头,分隔符,尾三部分的三元组,如果没有找到分隔符,返回尾,两个空元素的三元组;sep分割字符串,必须指定

修改:
replace(old,new[,count]) 字符串找到匹配替换为新子串,返回新字符串;count标识替换次数,不指定就是全部替换
strip([chars]) 从字符串两端去除字符集chars中的所有字符;没有指定,去除两端空白字符
lstrip([chars]) 从左开始
rstrip([chars]) 从右开始

查找:
find(sub[,start[,end]]) 在指定区间,从左至右,查找子串,找到返回索引,没找到返回-1
rfind(sub[,start[,end]]) 在指定区间,从右至左,查找子串,找到返回索引,没找到返回-1
index(sub[,start[,end]]) 在指定区间,从左至右,查找子串,找到返回索引,没找到抛异常
rindex(sub[,start[,end]]) 在指定区间,从右至左,查找子串,找到返回索引,没找到抛异常
count(sub[,start[,end]]) 在指定区间,从左至右,统计子串出现的次数
len(string) 返回字符串的长度

字符串判断:
endswith(suffix[,start[,end]]) 在指定区间,字符串是否以suffix结尾
startswith(prefix[,start[,end]]) 在指定区间,字符串是否是prefix开头
isalnum() 是否是字母和数字组成
isalpha() 是否是字母
isdigit() 是否全部是数字
islower() 是否全部是小写
isupper() 是否全部是大写

其他内置函数

1.zip()

使用zip可以将可迭代对象对应位置的数据组成一个元组
语法:zip(几个可迭代对象)

a=[1,2,3]
b=[3,2,1]
zip(a,b)
>>>如果输出则会是[(1,3)(2,2)(3,1)]
【注意】如果print出来的是 object at XXX,则需要list[zip(a,b)] ,也就是说在list列表中打印就可以显示全了。

未完待续,遇到补充

猜你喜欢

转载自www.cnblogs.com/jacker2019/p/11306860.html
今日推荐