记录一些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中不常用但非常好用的函数的主要内容,如果未能解决你的问题,请参考以下文章

Python中冷门但非常好用的内置函数

Python中冷门但非常好用的内置函数

Python中冷门但非常好用的内置函数

python 8个常用内置函数解说

python奇技淫巧

python中常用第三方库记录