Python必备技巧之字符数据操作详解

  • Post category:Python

Python必备技巧之字符数据操作详解

一、Python字符串介绍

Python中的字符串是一种不可变序列,可以使用单引号、双引号或三引号来表示,例如:

s1 = 'Hello, world!'
s2 = "It's a beautiful day."
s3 = '''Python is an "interpreted" language.'''

三引号表示的字符串可以包含单引号和双引号,也可以用于多行字符串的表示。

二、常用字符串方法

1. 字符串连接和重复

字符串的“+”操作符可以实现字符串的连接:

s1 = 'Hello, '
s2 = 'world!'
s3 = s1 + s2
print(s3)  # 输出 Hello, world!

字符串的“*”操作符可以实现字符串的重复:

s1 = 'Hello, '
s2 = s1 * 3
print(s2)  # 输出 Hello, Hello, Hello, 

2. 字符串分割

使用字符串的split()方法可以将字符串按照指定的分隔符分割成列表:

s = 'apple,banana,grape,orange'
lst = s.split(',')
print(lst)  # 输出 ['apple', 'banana', 'grape', 'orange']

3. 字符串替换

使用字符串的replace()方法可以将指定字符串替换成指定字符串:

s = 'Hello, world!'
s = s.replace('world', 'Python')
print(s)  # 输出 Hello, Python!

4. 字符串判断

常用的字符串判断方法包括:startswith()、endswith()、isalpha()、isdigit()、isalnum()等。

以startswith()为例,判断字符串是否以指定字符串开头:

s = 'http://www.baidu.com'
if s.startswith('http'):
    print('URL格式正确')
else:
    print('URL格式错误')

5. 字符串格式化

使用字符串的format()方法可以将指定字符串格式化成指定形式:

name = 'Tom'
age = 20
print('My name is {}, and my age is {}.'.format(name, age))
# 输出 My name is Tom, and my age is 20.

三、示例说明

示例1:统计字符串中每个单词出现的次数

s = 'a lazy dog likes jumping over brown foxes.'
words = s.split()
count = {}
for w in words:
    if w in count:
        count[w] += 1
    else:
        count[w] = 1
for k, v in count.items():
    print(k, v)
# 输出:
# a 1
# lazy 1
# dog 1
# likes 1
# jumping 1
# over 1
# brown 1
# foxes. 1

示例2:将字符串中的数字按照从小到大的顺序排列

import re

s = '1, 2, 4, 5, 3, 8, 7, 6, 9'
lst = re.findall(r'\d+', s)
lst = [int(i) for i in lst]
lst.sort()
s = ' '.join([str(i) for i in lst])
print(s)  # 输出 1 2 3 4 5 6 7 8 9

四、总结

Python字符串是一种重要的数据类型,掌握其常用方法能够提高字符串的处理效率,使得程序更加优雅。常见的操作包括字符串连接、分割、替换、判断、格式化等。使用Python字符串操作可以实现很多应用场景,例如统计字符串中单词出现的次数、对字符串中的数字排序等。