一、Python 字符串:文本处理的魔法棒
(一)字符串的定义与基本操作
(二)字符串的查找、修改与判断方法
二、Python 列表:数据集合的百宝箱
(一)列表的定义与遍历
(二)列表的常用操作方法
三、总结与实践建议
四、思维导图
在 Python 编程的世界里,字符串(String)和列表(List)是极为重要的数据类型。无论是处理文本信息,还是存储和操作一组数据,它们都发挥着关键作用。对于初学者而言,熟练掌握字符串和列表的使用方法,是深入学习 Python 编程的基石。本文将结合两篇思维导图,详细介绍 Python 中字符串和列表的相关知识,助力大家开启 Python 编程的进阶之旅。
在Python中,字符串是用单引号、双引号或三引号括起来的字符序列。比如,name = 'TOM'
与 password = "123456"
都是合法的字符串定义方式。定义好字符串后,就可以对其进行各种操作。
1.字符串的输入与输出:通过 input()
函数可以获取用户输入的字符串,再利用格式化字符串的方式输出。例如:
name = input('请输入您的名字:')
print(f'欢迎您,{name}!')
2. 字符串的下标与切片:字符串中的每个字符都有对应的下标,从 0 开始计数。通过下标可以访问字符串中的单个字符,如 str1 = 'abcdefg'
,print(str1[0])
会输出 a
。切片操作则允许我们获取字符串的一部分,语法为 序列【开始位置下标:结束位置下标:步长】
。需要注意的是,切片不包含结束位置下标对应的数据,且正负整数均可作为下标,步长是可选间隔,默认步长为 1。例如:
str1 = '012345678'
print(str1[2:5:1]) # 输出234
print(str1[2:5:2]) # 输出24
print(str1[:5]) # 输出01234
print(str1[2:]) # 输出2345678
print(str1[:]) # 输出012345678
print(str1[::-1]) # 输出876543210,实现字符串反转
print(str1[-4:-1]) # 输出567
切片操作在处理文本数据时非常实用,比如提取文件路径中的文件名、截取字符串中的特定部分等场景。
1.查找方法:Python 提供了多种查找字符串中子串的方法。find()
用于检测某个子串是否包含在字符串中,如果存在则返回子串开始的位置下标,否则返回 -1;index()
与 find()
类似,但在子串不存在时会抛出异常;count()
用于返回某个子串在字符串中出现的次数 。例如:
mystr = 'hello world and python and me'
print(mystr.find('python')) # 输出12
print(mystr.index('python')) # 输出12
print(mystr.count('and')) # 输出2
2.修改方法:字符串的修改方法不会改变原字符串,而是返回一个新的字符串。replace()
用于替换字符串中的子串;split()
按照给定字符分割字符串,返回一个列表;join()
则将列表里的字符串数据合并为一个大的字符串。capitalize()
、title()
、lower()
、upper()
分别用于将字符串的第一个字符、每个单词的首字母、所有大写字母、所有小写字母进行转换;rstrip()
、lstrip()
、strip()
用于删除字符串右侧、左侧、两侧的空白字符;ljust()
、rjust()
、center()
用于对字符串进行左对齐、右对齐、居中对齐,并使用指定字符(默认空格)填充至对应长度 。示例如下:
mystr = 'hello world'
new_str = mystr.replace('world', 'python')
print(new_str) # 输出hello python
split_list = mystr.split(' ')
print(split_list) # 输出['hello', 'world']
join_str = '-'.join(split_list)
print(join_str) # 输出hello-world
print(mystr.capitalize()) # 输出Hello world
print(mystr.title()) # 输出Hello World
print(mystr.lower()) # 输出hello world
print(mystr.upper()) # 输出HELLO WORLD
print(mystr.rstrip()) # 输出hello world
print(mystr.lstrip()) # 输出hello world
print(mystr.strip()) # 输出hello world
print(mystr.ljust(20, '*')) # 输出hello world*********
print(mystr.rjust(20, '*')) # 输出*********hello world
print(mystr.center(20, '*')) # 输出****hello world****
3.判断方法:通过 startswith()
和 endswith()
可以检查字符串是否以指定子串开头或结尾;isalpha()
用于判断字符串是否至少有一个字符且所有字符都是字母。这些方法返回布尔值(True 或 False)。例如:
mystr = 'hello world'
print(mystr.startswith('hello')) # 输出True
print(mystr.endswith('world')) # 输出True
print(mystr.isalpha()) # 输出False
列表是 Python 中用于存储多个数据的有序集合,用方括号 []
表示,数据之间用逗号分隔,且可以存储不同数据类型。例如,name_list = ['Tom', 'Lily', 'Rose']
。
1.通过下标访问列表元素:与字符串类似,列表也可以通过下标访问元素,下标同样从 0 开始。如 print(name_list[0])
会输出 Tom
。
2.循环遍历列表:可以使用 while
循环或 for
循环遍历列表。while
循环需要结合列表的长度进行遍历,而 for
循环更为简洁直观,推荐使用。示例如下:
name_list = ['Tom', 'Lily', 'Rose']
# 使用while循环遍历
i = 0
while i < len(name_list):
print(name_list[i])
i += 1
# 使用for循环遍历
for name in name_list:
print(name)
1.查找与判断:index()
方法用于返回指定数据在列表中所在位置的下标,count()
方法用于统计指定数据在列表中出现的次数,len()
函数用于获取列表的长度。此外,还可以使用 in
和 not in
判断指定数据是否在列表中 。例如:
name_list = ['Tom', 'Lily', 'Rose']
print(name_list.index('Lily')) # 输出1
print(name_list.count('Lily')) # 输出1
print(len(name_list)) # 输出3
print('Tom' in name_list) # 输出True
print('Jack' not in name_list) # 输出True
2.增加元素:append()
方法用于在列表结尾追加数据,如果追加的数据是一个序列,则会将整个序列追加到列表中;extend()
方法同样用于在列表结尾追加数据,但如果数据是一个序列,会将序列中的数据逐一添加到列表;insert()
方法用于在指定位置新增数据 。例如:
name_list1 = ['Tom', 'Lily', 'Rose']
name_list2 = ['Tom', 'Lily', 'Rose']
name_list1.append('xiaoming')
name_list2.append(['xiaoming'])
print(name_list1) # 输出['Tom', 'Lily', 'Rose', 'xiaoming']
print(name_list2) # 输出['Tom', 'Lily', 'Rose', ['xiaoming']]
name_list1.extend('xiaoming')
print(name_list1) # 输出['Tom', 'Lily', 'Rose', 'xiaoming', 'x', 'i', 'a', 'o','m', 'i', 'n', 'g']
name_list1.insert(1, 'Jack')
print(name_list1) # 输出['Tom', 'Jack', 'Lily', 'Rose', 'xiaoming', 'x', 'i', 'a', 'o','m', 'i', 'n', 'g']
3.删除元素:del
语句可以删除指定下标的元素;pop()
方法用于删除指定下标数据(默认为最后一个),并返回该数据;remove()
方法移除列表中某个数据的第一个匹配项;clear()
方法用于清空列表 。例如:
name_list = ['Tom', 'Lily', 'Rose']
del name_list[0]
print(name_list) # 输出['Lily', 'Rose']
popped_item = name_list.pop(1)
print(popped_item) # 输出Rose
print(name_list) # 输出['Lily']
name_list.remove('Lily')
print(name_list) # 输出[]
name_list = ['Tom', 'Lily', 'Rose']
name_list.clear()
print(name_list) # 输出[]
4.修改与排序:通过下标可以直接修改列表中的元素。reverse()
方法用于逆置列表,sort()
方法用于对列表进行排序,默认是升序排序,通过设置 reverse=True
可以实现降序排序 。例如:
name_list = ['Tom', 'Lily', 'Rose']
name_list[0] = 'aaa'
print(name_list) # 输出['aaa', 'Lily', 'Rose']
num_list = [1, 3, 2, 5, 4, 6]
num_list.reverse()
print(num_list) # 输出[6, 4, 5, 2, 3, 1]
num_list.sort()
print(num_list) # 输出[1, 2, 3, 4, 5, 6]
num_list.sort(reverse=True)
print(num_list) # 输出[6, 5, 4, 3, 2, 1]
5.列表嵌套:列表中还可以包含列表,即列表嵌套。这在处理复杂数据结构时非常有用,比如存储班级学生名单,每个班级的学生名单作为一个子列表 。例如:
name_list = [['Tom', 'Lily', 'Rose'], ['张三', '李四', '王五']]
print(name_list) # 输出[['Tom', 'Lily', 'Rose'], ['张三', '李四', '王五']]
print(name_list[0]) # 输出['Tom', 'Lily', 'Rose']
print(name_list[0][1]) # 输出Lily
字符串和列表是 Python 编程中最基础也最常用的数据类型。掌握它们的基本操作和方法,能够帮助我们高效地处理文本数据和管理数据集合。在实际编程中,大家可以多进行相关练习,比如处理文件内容时,可以利用字符串的方法读取、解析和修改文本;在处理数据统计或分组时,列表的各种操作能发挥巨大作用。同时,要注意字符串是不可变类型,其修改方法返回新字符串,而列表是可变类型,很多操作会直接修改原列表。希望大家通过不断实践,能够熟练运用字符串和列表,为 Python 编程之路打下坚实的基础。