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]
  • 获取
    • 切片 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开始,从右往左
  • 内置方法
    • 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}可用作关键字
    • 格式化符号
      • %c:字符及ASCII码
      • %s:字符串,用str()处理对象
      • %r:rper()处理
      • %d:格式化整数
      • %o:无符号八进制
      • %x:无符号十六进制
      • %f:浮点
      • %e:科学计数法
      • %g:根据值的大小决定使用f或e
    • 操作符辅助指令
      • m.n:m是显示的最小总宽度,n是小数点后的位数
      • -:用于左对齐
      • +:正数前显示加号
      • #
      • 0:数据前填充0

四、字典

  • 关键字为索引,通常用字符串或数值等不可变类型
  • {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'))
    • 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

五、集合

  • 在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]):冻结的集合
        • 不能再添加/删除元素
        • 可进行集合操作

六、序列

  • 包含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解压为列表

 

posted @ 2021-09-02 14:18  泥鱼生长  阅读(66)  评论(0)    收藏  举报