zoukankan      html  css  js  c++  java
  • 记录一些Python中不常用但非常好用的函数

    zfill(): 方法返回指定长度的字符串,原字符串右对齐,前面填充0。

    print('Helloworld'.zfill(50))
    0000000000000000000000000000000000000000Helloworld

    rsplit(): 从右向左寻找, 对字符串进行分割并返回一个列表

    • sep -- 可选参数,指定的分隔符,默认为所有的空字符,包括空格、换行( )、制表符( )等。
    • 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:workspacePython练习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 和 + 的性能对比
    每执行一次+都会申请一块新的内存 然后复制上一个+操作的结果和本次操作的右操作符到这块内存空间,因此用+连接字符串的时候会涉及好几次内存申请和复制
  • 相关阅读:
    Linux下批处理文件
    linux代码端启动终端
    ubuntu截图
    Ubuntu安装多个版本的Opencv
    Ubuntu双系统启动卡死
    Ubuntu14.04运行lsdslam与问题解决
    js懒加载
    公众号开发-获取用户信息
    ClipboardJS 复制文本功能
    css3 Gradient线性渐变详解
  • 原文地址:https://www.cnblogs.com/frank-shen/p/10274426.html
Copyright © 2011-2022 走看看