记录一些Python中不常用但非常好用的函数
Posted Frank_Shen
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了记录一些Python中不常用但非常好用的函数相关的知识,希望对你有一定的参考价值。
zfill(): 方法返回指定长度的字符串,原字符串右对齐,前面填充0。
print(\'Helloworld\'.zfill(50))
0000000000000000000000000000000000000000Helloworld
rsplit(): 从右向左寻找, 对字符串进行分割并返回一个列表
- sep -- 可选参数,指定的分隔符,默认为所有的空字符,包括空格、换行(\\n)、制表符(\\t)等。
- count -- 可选参数,分割次数,默认为分隔符在字符串中出现的总次数。
print(\'https://home.cnblogs.com/u/frank-shen/\'.rsplit(\'/\', 2)) [\'https://home.cnblogs.com/u\', \'frank-shen\', \'\']
random.sample(): 从指定序列中随机获取指定长度的片断
print(sample(\'0123456789\', 3)) [\'0\', \'9\', \'6\']
random.shuffle(): 原地打乱列表的顺序
import random temp = [1, 2, 3, 4, 5] random.shuffle(temp) print(temp) [4, 5, 3, 1, 2]
zip() 压缩 zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。
a = [1, 2, 3] b = [4, 5, 6] c = [7, 8, 9, 0] print(list(zip(a, b))) # zip返回的是对象, 通过list()转换为列表 print(list(zip(a, c))) # 元素个数与最短的列表一致 [(1, 4), (2, 5), (3, 6)] [(1, 7), (2, 8), (3, 9)]
zip 参数前加* 解压
print(list(zip(*[(1, 4), (2, 5), (3, 6)]))) [(1, 2, 3), (4, 5, 6)]
. 表示当时文件夹 os.path.abspath(\'.\') 获取当前文件夹的绝对路径
print(os.path.abspath(\'.\')) D:\\workspace\\Python\\练习\\Demo
统计字符串每个字符出现的次数
s = \'sdfadfjsdfjdjhgadsf\' res = Counter(s) print(res)
字典根据键从小到大排序
dict = {\'name\': \'Frank\', \'age\': 18} list = sorted(dict.items(), key=lambda i: i[0], reverse=False) new_dict = {} for i in list: new_dict[i[0]] = i[1] print(new_dict)
位运算符是把数字当作二进制来计算的
a = 60 b = 13 print(a&b) # 参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0 print(a|b) # 只要对应的二个二进位有一个为1时,结果位就为1 print(a^b) # 当两对应的二进位相异时,结果为1 print(~a) # 取反 ~a = -(a+1) print(a<<2) # 运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0。 print(a>>2) # 把">>"左边的运算数的各二进位全部右移若干位,">>"右边的数指定移动的位数
join 和 + 的性能对比
每执行一次+都会申请一块新的内存 然后复制上一个+操作的结果和本次操作的右操作符到这块内存空间,因此用+连接字符串的时候会涉及好几次内存申请和复制
以上是关于记录一些Python中不常用但非常好用的函数的主要内容,如果未能解决你的问题,请参考以下文章