Python字符串、列表、元组的相同点与不同点
1.相同点
( 1 )索引相同,从左到右都为0~~n-1。
( 2 )拼接相同,都可以用’+'拼接。
( 3 )计数相同,都使用count()函数来计数。
( 4 )有序无序?三者都有序。
( 5 )都可以使用del删除。
( 6 )都可以使用’*'来使本身重复。
( 7 )都可以强制转换。
( 8 )切片方法都一致。
( 9 )都可以使用for循环来进行元素遍历、索引遍历以及枚举遍历。
2.不同点
2.1类型不同。
- 字符串类型为:str
- 元组类型为:tuple
- 列表类型为:list
2.2修改方式不同
- 元组不能修改
- 字符串是不可变的,但可以使用replace()函数来替换,也可以使用lower()来改变大小写
函数名 | 描述 |
---|---|
str.lower() | 全部转化成小写 |
str.upper() | 全部转化成大写 |
str.swapcase() | 大小写相互转换 |
str.title() | 转化成标题的形式 |
str.capitalize() | 首字母大写 |
- 列表不能使用replace(),但是可以直接根据索引来修改元素值
2.3能否分割?
- 字符串可以使用split()等函数分割成
函数名 | 描述 |
---|---|
join() | 将制定字符插入到元素中 |
split() | 以指定字符分割字符串并去除该字符 |
partition() | 以指定字符分割字符串并保留该字符串 |
- 元组、列表不可分割
2.4删除方式不同
- 字符串使用strip()等函数删除
函数名 | 描述 |
---|---|
str.strip() | 删除左右两边的字符 |
str.lstrip() | 删除左两边的字符 |
str.rstrip() | 删除右两边的字符 |
- 列表使用pop()等函数删除元素
函数名 | 描述 |
---|---|
pop() | 删除指定索引对应的元素,并返回删除的元素。如果不指定索引,默认删除最后一个元素 |
remove() | 移除第一次遇到的指定元素 |
del | 移除元素或列表,清除地址 |
clear() | 移除列表,保留地址,只清空内容 |
list=[] | 清空列表 |
- 元组不能删除元素,只能用del删除整个元组。
2.5查找方式不同
- 元组只能用Index()函数来查看。
- 列表只能用Index()函数来查看。
- 字符串可以用find()等函数查看
函数名 | 描述 |
---|---|
find() | 查找元素并返回第一次出现的元素索引值。假如查找不到,返回-1。 |
index() | 查找元素并返回第一次出现的元素索引值。假如查找不到,报错。 |
rindex() | 从右往左查找 |
replace([现有],[替换]) | 替换某个值 |
2.6 自身的判断
- 字符串能够判断自己的组成
函数名 | 描述 |
---|---|
isalnum() | 判断字符是否由字母或者数字组成 |
isalpha() | 判断字符是否全由字母组成 |
isdigit() | 判断字符是否全由数字组成 |
islower() | 判断字符是否全是小写 |
isupper() | 判断字符是否全是大写 |
istitle() | 判断字符是否符合标题,即首字母大写 |
isspace() | 判断字符是否全是空白字符 |
isascii() | 判断字符是否为阿斯克码 |
isdecimal() | 判断字符串是否只包含十进制字符。 |
isidentifier() | 判断字符串是否是字母开头 |
isnumeric() | 如果字符串中的所有字符都是数字字符,并且至少有一个字符,则返回true |
isprintable() | 判断是否字符串中的所有字符都可打印或字符串为空 |
- 元组、列表无法判断自身的组成
2.7 嵌套不同
- 列表跟元组都可以嵌套列表元祖字典等序列。
- 字符串不能嵌套。
2.8深浅拷贝
- 列表、元祖都存在深浅拷贝。
- 字符串只能浅拷贝。