Python常用方法随手整理(二)
一、列表
- 有序,没有固定大小,[a1,a2,a3...]
- X=[a]*4,创建4个指向List的引用,一旦a改变,X中4个a也随之改变。
- 列表操作
- 附加:append、extend
- list.append(ojb)
- append是追加,把obj整体添加在list后。而extend是扩展,把obj中的元素依次添加在列表中。
- 插入insert:list.insert(index,obj)
- 删除:remove,pop
- list.remove(obj)移除列表中第一个匹配项
- list.pop([index=-1])移除一个元素(默认最后一个),并且返回该元素的值。
- del var1[,var2...]删除单个或多个对象
- del x[0:2]
- 附加:append、extend
- 获取
- 切片 start:stop:step
- 通过切片可实现复制list元素,浅拷贝 list[:]
- 常用操作符
- 等号==:只有成员、成员位置均相同,返回true
- 连接+:首尾拼接
- 重复*:复制拼接
- 成员关系:in/not in
- 更多操作
- list.count(obj):统计obj出现的次数
- list.index(x[,start[,end]]):找出obj第一个匹配项的索引位置
- list.reverse():反转
- list.sort(key=None,reverse=False):排序
- key:用来比较的元素,只有一个参数。具体函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
二、元祖
- 创建后不能修改,小括号可以省略。(a1,a2,a3...)
- 只包含一个元素时,元素后面添加逗号,否则括号被当作运算符
- 内置方法count、index
- 解压元祖,将元素依次赋给变量
- t=(a,b,c)
- (a1,b1,c1)=t
- (a2,*b2)=t #通配符
三、字符串
- 具有不可修改行,'xxxxx'/"xxxxxxx"
- 转义字符
- \\:反斜杠
- \':单引号
- \":双引号
- \n:换行
- \t:制表符TAB
- \r:回车
- 原始字符串只需要在前面加一个'r'即可
- print(r'c:\')
- 三引号允许一个字符串跨多行
- 切片与拼接
- index可正可负
- 正,从0开始,从左往右
- 负,从-1开始,从右往左
- index可正可负
- 内置方法
- capitalize():第一个字符转换大小写
- lower()
- upper()
- swapcase():大写转为小,小写转为大
- count(str,beg=0,end=len(string)):返回str出现的次数
- endswith(suffix,beg=0,end=len(string)):是否以suffix结束
- startswith(substr,beg=0,end=len(string)):是否以substr开始
- find(str,beg=0,end=len(string)):是否包含str,返回查找元素的index或-1
- rfind():类似于find,但从右边开始查找
- isnumeric():是否只包含数字字符
- ljust(width[fillchar]):返回str左对齐,使用fillchar填充到长度为width
- rjust():右对齐
- lstrip([chars]):截掉左边的空格或指定字符(str中间的chars不处理)
- rstrip()
- strip():执行lstrip()+rstrip()
- partition(sub):找到sub,并将str分为一个三元组(pre_sub,sub,fol_sub)
- rpartition():从右边开始查找
- replace(old,new[,max]):替换,不超过max次
- split(str=" ",num):分割num个子字符串,返回切片后的子字符串拼接列表。默认空格为分隔符。
- splitlines([keepends])按照行(‘\r’,'\r\n','\n')分割,返回各行作为元素的列表。 maketrans(intab,outtab)+translate(table,deletechars=""):两个方法配合使用
- maketrans()创建字符映射的转换表
- translate()根据table转换字符串的字符,过滤掉deletechars中的参数
- 字符串格式化
- format函数
- str.format()
- format中,可配置位置参数、关键字参数。位置应在关键字之前
- str中,{0}可用作位置,{a}{b}可用作关键字
- str.format()
- 格式化符号
- %c:字符及ASCII码
- %s:字符串,用str()处理对象
- %r:rper()处理
- %d:格式化整数
- %o:无符号八进制
- %x:无符号十六进制
- %f:浮点
- %e:科学计数法
- %g:根据值的大小决定使用f或e
- 操作符辅助指令
- m.n:m是显示的最小总宽度,n是小数点后的位数
- -:用于左对齐
- +:正数前显示加号
- #
- 0:数据前填充0
- format函数
四、字典
- 关键字为索引,通常用字符串或数值等不可变类型
- {key1:value1,key2:value2,....}
- dict():创建空字典
- dict1[key]=value,为其关键字赋值
- dict1=dict([(key,value),...])
- dict2=dict(((key,value),...))
- dict3=dict(key1=value,key2=value2,...)
- 内置方法
- dict.fromkeys(seq[,value])创建字典,seq元素做key,value为值
- 例seq=('name','age')
- dict=dict.fromkey(seq,('value1','value2'))
- 例seq=('name','age')
- dict.keys():返回一个可迭代对象,所有的key,可用list()转换为列表
- dict.values():返回所有的值
- dict.items():以列表返回可遍历的(key,value)数组
- dict.get(key,default=None):返回指定键的值,如果无值就返回默认值。
- dict.setdefault(key,default=None):如果键不存在,将会添加键并设置默认值。
- key in dict:in操作符用来判断key是否在dict中
- dict.pop(key[,default]):删除key的value,返回值为value。若key不存在,则返回default值
- del dict[key]:删除key所对应的value
- dict.popitem():随机返回并删除字典中的一对key-value,dict如已经为空,报keyError异常
- dict.clear():删除所有元素
- dict.copy():返回一个字典的浅复制
- dict.update(dict2):把dict2的key:value更新到dict中
- 补充新key:value
- 更新重复的key:value
- dict.fromkeys(seq[,value])创建字典,seq元素做key,value为值
五、集合
- 在set中没有重复的key
- key为不可变类型
- {key,key,key...}
- 特点:无序unordered、唯一unique
- 创建:set()
- set={1,2,3,4}
- 重复元素自动过滤
- set(value):将列表或元组转为集合
- len(x):集合大小
- in/not in:判断元素是否在集合中
- 内置方法:
- set.add(elmnt):添加元素
- set.update(set):修改当前集合,添加新元素或集合
- set.remove(item):移除指定元素
- set.discard(value):移除指定的集合元素
- set.pop():随意移除一个元素
- 集合操作
- set.intersection(set1,set2)/set1 & set2:返回交集
- set.intersection_update(set1,set2):在原始集合上移除不重叠的元素
- set.union(set1,set2)/set1 | set2:返回并集
- set.difference(set)/set1-set2:返回差集
- set.difference_update(set):在原集合中移除重叠元素
- set.symmetric_difference(set)/set1 ^ set2:异或
- set.symmertic_difference_update(set):移除相同的元素,并插入不同的元素
- set.issubset(set)/set1 <=set2:是否被其他集合包含
- set.issuperset(set)/set1 >=set2:是否包含其他集合
- set.isdisjoint(set):判断两个集合是否不相交
- 不可变集合
- frozenset([iterable]):冻结的集合
- 不能再添加/删除元素
- 可进行集合操作
- frozenset([iterable]):冻结的集合
六、序列
- 包含str、list、tuple、set和dict
- set和dict不支持索引、切片、相加和相乘操作
- max(sub):返回序列中最大值
- min(sub):序列中最小值
- sum(iterable[,start:0]):返回序列中各元素与可选参数start的总和,即(items)+start
- sorted(iterable,key=None,reverse=False):排序
- reversed(seq):返回一个反转的迭代器,type是<class reversed>
- seq是tuple、string、list或range
- enumerate(sequence,[start=0]) :组合为索引序列,列出数据及其下标。
- zip(iter1[,iter2[...]]):将对象中对应元素打包成一个个元组,返回元组组成的对象,节约内存
- 返回的列表长度与最短对象的长度相同
- *操作符,可将zip解压为列表
浙公网安备 33010602011771号