Python中字符串的常见操作技巧总结

1267次阅读  |  发布于5年以前

本文实例总结了Python中字符串的常见操作技巧。分享给大家供大家参考,具体如下:

反转一个字符串


    >>> S = 'abcdefghijklmnop'
    >>> S[::-1]
    'ponmlkjihgfedcba'

这种用法叫做three-limit slices

除此之外,还可以使用slice对象,例如


    >>> 'spam'[slice(None, None, -1)]
    >>>

unicode码与字符(single-character strings)之间的转换


    >>> ord('s') # ord -> ordinal
    115
    >>> chr(115) # chr -> char?
    's'

二进制转十进制


    >>> B = '1101'
    >>> I = 0
    >>> while B != '':
    ...   I = I * 2 + (ord(B[0]) - ord('0'))
    ...   B = B[1:]
    ...
    >>> I
    13

这里的二进制到十进制计算方式是我们已经习惯的计算方法不太一样,我们一般习惯于给二进制的每一位乘上权值再求和。

而这里的计算方式其实跟左移操作类似,计算的方向为从左到右。

(1)2 = 1
(11)2 = (1)2 << 1 + 1
(110)2 = (11)2 << 1 + 0
(1101)2 = (110)2 << 1 + 1

当然还有更简单的方式


    >>> int('1101', 2)
    13
    >>> bin(13)
    '0b1101'

为每个字符添加一个间隔符


    >>> S = 'spammy'
    >>> L = list(S)
    >>> L
    ['s', 'p', 'a', 'm', 'm', 'y']
    >>> L[3] = 'x'
    >>> L[4] = 'x'
    >>> L
    ['s', 'p', 'a', 'x', 'x', 'y']
    >>> S = '-'.join(L)
    >>> S
    's-p-a-x-x-y'
    >>>

更简洁的版本


    >>> 'SPAM'.join(['eggs', 'sausage', 'ham', 'toast'])
    'eggsSPAMsausageSPAMhamSPAMtoast'

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python字符串操作技巧汇总》、《Python编码操作技巧总结》、《Python图片操作技巧总结》、《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总

希望本文所述对大家Python程序设计有所帮助。

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8