WithCoderWithCoderWithCoder

Python基本数据类型之字符串的常用操作

    在之前的文章中,我们介绍了 Python 中字符串(String)数据类型。本文介绍字符串的常用操作,Python 提供了大量的字符串操作,例如:连接字符串、遍历字符串…。所有的序列(例如:字符串、列表)都可以进行以下基本操作:

    • +:连接两个序列

    • *:重复序列元素

    • in:判断元素是否在序列中

    • min():返回最小值

    • max():返回最大值

    • len():返回序列长度

    • enumerate():返回一个枚举对象,包含字符串中所有元素的索引和值(作为一对)

    1.1 连接字符串

        连接是指将多个字符串合并为一个单独的字符串,连接字符串是最常用的操作。

>>> s1 = 'Hello'
>>> s2 = 'world'
>>> s = s1 + ' '+ s2 # 连接字符串
>>> s
'Hello world'
>>>

    如果想在不同的行中连接字符串,可以使用括号。   

>>> s = 'hello' ' ' 'world' # 多个字符串一起
>>> s
'hello world'
>>>
>>>  # 使用括号
>>> s1 = ('hello' ' '
      'world')
>>> s1
'hello world'
>>>

    和其他语言不同,Python 操作符 + 不会将数字或其他类型自动转换为字符串形式,需要通过 str() 函数将值转换为字符串形式,以便它们可以与其他字符串组合。

>>> age = 30
>>> 'My age is :' + age
Traceback (most recent call last):
  File "<pyshell#133>", line 1, in <module>
    'My age is :' + age
TypeError: can only concatenate str (not "int") to str
>>> 'My age is :' + str(age)
'My age is :30'
>>>

    1.2 重复字符串

    操作符 * 用于以指定的次数来重复字符串:

>>> s = 'Hello ' * 3  # 重复字符串 3 次
>>> s
'Hello Hello Hello '
>>> s = '*' * 30 # 无需输入很多
>>> s
'******************************'

    1.3 最大值/最小值

    在一个字符串中,每个字符在计算机中都有对应的 ASCII 码。min() 和 max() 就是根据对应的 ASCII 码进行比较的,从而获取最小值和最大值对应的字符。   

>>> s = 'abcdef'
>>> min(s)
'a'
>>> max(s)
'f'

    Python 提供了两个内置函数 ord() 和 chr(),用于字符和 ASCII 码之间的转换。    

>>> ord('a') # 字符串转ASCII码
97
>>> chr(97) # ASCII码转字符
'a'
>>>

    1.4 字符串成员测试

    使用关键字 in,可以测试字符串中是否包含指定的子串。

>>> s = 'hello'
>>> 'e' in s
True
>>> 'a' in s
False
>>>

    1.5 字符串长度

    要获取一个字符串的长度,可以使用内置函数 len():

>>> s = 'hello'
>>> len(s)
5
>>>

    1.6 迭代字符串

    使用 for 循环,可以遍历一个字符串。

>>> # 查找字符串中 l 的数量
>>> s = 'hello'
>>> count = 0
>>> for val in s:
if val == 'l':
count += 1
>>> count
2
>>>

    还可使用 enumerate(),它会返回一个枚举对象,包含字符串中所有元素的索引和值(作为一对),这对于迭代很有用。

>>> s = 'hello'
>>> arr = enumerate(s)
>>> for k,v in arr:
        print(k,':',v)
        
0 : h
1 : e
2 : l
3 : l
4 : o
>>>

    字符串的方法

    字符串有许多方法,可以通过 dir() 来查看方法列表:

>>> dir(str)
['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'capitalize', 'casefold', 'center', 'count', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'format_map', 'index', 'isalnum', 'isalpha', 'isascii', 'isdecimal', 'isdigit', 'isidentifier', 'islower', 'isnumeric', 'isprintable', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'maketrans', 'partition', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill']
>>>

     本文不讲解这些方法的使用,在后续编程中,可以根据需要自行使用。不了解的方法,可以搜索或使用 help() 函数进行查看。

欢迎分享交流,转载请注明出处:WithCoder » Python基本数据类型之字符串的常用操作