目录
前言
本文讲述Python中的容器类型,容器类型主要有字符串、列表、元组和字典,不同的容器有不同的用法和作用,详细介绍如下。
一、字符串
(一)简介
带单引号或双引号的数据就是字符串,字符串中的每个字符在内存中单独存储,并且占有独立的空间,所以可以通过索引(下标)找到对于的字符,从左侧开始编号时,索引(下标)为正,并且从0开始编号;从右侧开始编号时,索引(下标)为负,并且从-1开始编号。
(二)切片
切片就是从被指定的对象中截取一部分数据的操作,由于字符串中的字符是独立存储的,所以字符串支持切片;
语法:指定对象[开始下标:结束下标:步长], 步长表示每次选取的间隔,步长为正时从左往右选取数据,步长为负,则是从右往左选取数据
注意:切片时无法取到结束下标,步长为正时只能取到结束小标-1,步长为负时只能取到结束下标+1。
testValue = "ABCDEFG"
print(testValue[0:2]) # 输出AB,未填步长则默认步长为1
print(testValue[:1:2]) # 输出A,未填起始下标则默认起始下标为0
print(testValue[1::1]) # 输出BCDEFG,未填结束下标则默认从起始下标取到结束
(三)字符串常见操作
testValue = "ABCDEFG"
# find,查找字符在原字符串中是否存在,存在则返回字符所在的下标,若不存在则返回-1
testValue.find('C') # 结果为2
# rfind,与find方法用法类似,rfind方法是从右往左查找,并且返回正数时的下标
testValue.rfind('C') # 结果为2
# count,查找指定字符在原字符串中出现的次数
testValue.count('A') # 结果为1
# replace,将字符串中的指定字符替换成目标字符
testValue.replace('A', 'a') # 结果为aBCDEFG
# split,将字符串按照指定字符进行拆分,返回的结果为列表,并且指定字符不存在与该列表中
testValue.split("B") # 结果为['A', 'CDEFG']
# startswith,判断字符串是否以指定字符开头,若是则结果为True,否则为False
testValue.startswith("B") # 结果为False
# endswith,判断字符串是否以指定字符结尾,若是则结果为True,否则为False
testValue.endswith("G") # 结果为True
# lower,将字符串中的字符全部转为小写
testValue.lower() # 结果为abcdefg
# upper,将字符串中的字符全部转为大写
testValue.upper() # 结果为ABCDEFG
# strip,去除字符串头尾的空格
testValue.strip() # 结果为ABCDEFG
# partition方法,将字符串按照指定字符进行拆分,返回的结果为元组,
# 该方法返回的元组中包含指定字符
testValue.partition("C") # 结果为('AB', 'C', 'DEFG')
# splitlines,将字符串按行分割
testValue.splitlines()
# isalpha,判断字符串中的字符是否都为字母,是为True,否则为False
testValue.isalpha() # 结果为True
# isdigit,判断字符串中的字符是否都为数字,是为True,否则为False
testValue.isdigit() # 结果为False
# isalnum,判断字符串中的字符是否只包含字母和数字,是为True,否则为False
testValue.isalnum() # 结果为True
# join,将指定对象中的每个元素用指定字符拼接起来
"-".join(testValue) # 结果为A-B-C-D-E-F-G
二、列表
使用[]定义列表,列表可以存储不同类型的数据
(一)基本用法
通过下标即可访问列表中的元素
# 定义一个list列表
list = ['A', 'B', 'C', 'D', 'E']
# 通过下标访问列表中的元素
list[1] # 结果为B
(二)切片
列表的切片与字符串的相同
# 定义一个list列表
list = ['A', 'B', 'C', 'D', 'E']
list[0:2] # 结果为['A', 'B'],未填步长则默认步长为1
list[:1:2] # 结果为['A'],未填起始下标则默认起始下标为0
list[3:1:-1] # 结果为['D', 'C'],未填结束下标则默认从起始下标取到结束
(三)遍历
列表遍历就是依次获取列表中的元素,通过for循环和while循环即可实现列表遍历,示例如下:
(1)for循环
#使用for循环依次取出list列表中的元素
list = ['A', 'B', 'C', 'D', 'E']
for i in list:
print(i)
结果为:
(2)while循环
# 使用while循环依次取出list列表中的元素
list = ['A', 'B', 'C', 'D', 'E']
i = 0
while i < len(list):
print(list[i])
i += 1
结果与for循环的相同:
(四)列表的相关操作
(1)数据增加
列表增加数据主要有三个方法:append,extend和insert,这三个方法都是往列表中添加添加元素,但是添加的方式不同:
- append:往列表中的最末位添加元素
- extend:将一个列表中的元素逐步添加到另一个列表中
- insert:通过索引下标在列表中的指定位置添加元素
示例如下:
list_value = []
# 在list_value的索引为0的位置添加元素1
list_value.append(1)
print(list_value)
list2 = [2, 3, 4]
# 往list_value中逐步添加列表list2中的元素
# 并且list2列表不受影响
list_value.extend(list2)
print(list_value)
print(list2)
# 在list_value索引为4的位置添加元素5
list_value.insert(4, 5)
print(list_value)
结果输出为:
(2)数据修改
只能通过下标修改列表中元素的值,格式为:列表[下标]=新值
(3)数据查询
数据查询主要有两个作用,一个是查询列表中的元素个数,另一个作用是查询指定元素是否存在于列表中;
list = [1, 2, 3, 1]
list.count(1) # 查询1在列表list中出现的次数,结果为2
2 in list # 判断元素2是否存在于列表list中,结果为True
2 not in list # 判断元素2是否不存在于列表list中,结果为False
(4)数据删除
数据删除就是将元素从列表中移除,删除的方法主要有三种:del、pop和remove,这三种方法都有各自删除数据的方式:
- del:按照下标删除元素
- pop:删除列表中的最后一个元素
- remove:移除指定元素
list = [1, 2, 3, 1]
# 删除list中索引位3的数据,指定的索引值一定小于列表的元素个数
# 结果为list = [1, 2, 3]
del list[3]
# 删除list列表中最后一个元素
# 结果为list = [1, 2]
list.pop()
# 删除list列表中的元素2
# 结果为list = [1]
list.remove(2)
总结
本文主要讲述了字符串和列表的概念和用法,不同的容器有不同的用法,在下一篇文章中会继续讲解元组和集合两个容器,让我们拭目以待吧!