• python字符串操作


    python 字符串常用操作方法

    python 字符串操作常用操作,如字符串的替换、删除、截取、赋值、连接、比较、查找、分割等

    1、去除空格

    str.strip():删除字符串两边的指定字符,括号的写入指定字符,默认为空格

    1 a='    hello    '
    2 b=a.strip()
    3 print(b)

    输出:hello

    str.lstrip():删除字符串左边的指定字符,括号的写入指定字符,默认空格

    1 >>> a='   hello   '
    2 >>> b=a.lstrip()
    3 >>> print(b)
    4 hello      #右边空格可能看的不是很明显

     

    str.rstrip():删除字符串右边的指定字符,括号的写入指定字符,默认空格

    1 >>> a='   hello   '
    2 >>> b=a.rstrip()
    3 >>> print(b)
    4    hello

     

    2、复制字符串

    1 >>> a='hello world'
    2 >>> b=a
    3 >>> print(a,b)
    4 hello world hello world

    3、连接字符串

    复制代码
     1 +:连接2个字符串
     2 >>> a='hello '
     3 >>> b='world'
     4 >>> print(a+b)
     5 hello world
     6 注:此方法又称为 "万恶的加号",因为使用加号连接2个字符串会调用静态函数string_concat(register PyStringObject *a ,register PyObject * b),在这个函数中会开辟一块大小是a+b的内存的和的存储单元,然后将a,b字符串拷贝进去。如果是n个字符串相连  那么会开辟n-1次内存,是非常耗费资源的。
     7  
     8 str.join:连接2个字符串,可指定连接符号(关于join,读者可以自己去查看一些相关资料)
     9 #join
     10 li=["alex","eric"]
     11 s="******".join(li)
     12 print(s)
     13 输出结果  alex******eric
    复制代码

    4、查找字符串

    复制代码
    1 #str.index 和str.find 功能相同,区别在于find()查找失败会返回-1,不会影响程序运行。一般用find!=-1或者find>-1来作为判断条件。
     2 str.index:检测字符串中是否包含子字符串str,可指定范围
     3  a='hello world'
     4 >>> a.index('l')
     5 2
     6 >>> a.index('x')
     7 Traceback (most recent call last):
     8   File "<pyshell#40>", line 1, in <module>
     9     a.index('x')
    10 ValueError: substring not found
    11 str.find:检测字符串中是否包含子字符串str,可指定范围
    12 
    13 >>> a='hello world'
    14 >>> a.find('l')
    15 2
    16 >>> a.find('x')
    17 -1
    复制代码

    5.比较字符串

    str.cmp:比较两个对象,并根据结果返回一个整数。X< Y,返回值是负数 ,X>Y 返回的值为正数。
    #python3已经没有该方法,官方文档是这么写的:
    The cmp() function should be treated as gone, and the __cmp__() special method is no longer supported. Use __lt__() for sorting, __eq__() with __hash__(), and other rich comparisons as needed. (If you really need the cmp() functionality, you could use the expression (a > b) - (a < b) as the equivalent for cmp(a, b).)
    大意就是cmp()函数已经“离开”了,如果你真的需要cmp()函数,你可以用表达式(a > b) - (a < b)代替cmp(a,b)

  • 相关阅读:
    [原] KVM 虚拟化原理探究(6)— 块设备IO虚拟化
    [原] KVM 虚拟化原理探究(5)— 网络IO虚拟化
    [原] KVM 虚拟化原理探究(4)— 内存虚拟化
    [原] KVM 虚拟化原理探究(3)— CPU 虚拟化
    [原] KVM 虚拟化原理探究(2)— QEMU启动过程
    [原] KVM虚拟机网络闪断分析
    [原] KVM 环境下MySQL性能对比
    [源]云计算技术堆栈系列——鸟瞰
    [原] 利用 OVS 建立 VxLAN 虚拟网络实验
    [原] Cgroup CPU, Blkio 测试
  • 原文地址:https://www.cnblogs.com/liruilong/p/12496473.html
Copyright © 2020-2023  润新知