元组
我们已经知道列表是可以修改的,有时候某些数据是固定的不可变的,这个时候就可以使用元组
元组看起来和列表很像,只不过是将列表的方括号换成了圆括号
# 创建一个元组
tuple1 = (5,10) # 假设这是一个固定的长方形的宽和长
# 和列表相同,我们可以通过索引获取元素
print(tuple1[1]) # 获得了元素10
# 元组是不可变的,我们来试一下修改元组内的元素
tuple1[0] = 15
'''
会得到如下的错误语句
TypeError: 'tuple' object does not support item assignment
可见,我们无法对元组内的元素进行修改
'''
常用字符串方法
方法就是指一些python特定的功能,或者说是解决某些问题的办法
使用方法为:字符串.方法名()
title()
# title()方法可以将字符串中的每个单词变为只有首字母为大写的形式
# 会生成一个新的字符串,而不是改变原有的
name1 = 'python'
name2 = 'PYTHON'
name3 = 'pytHON'
print(name1.title()) # 会得到Python
# 同理,name2和name3会得到同样的结果
upper()和lower()
# 这两个方法可以将字符串中的所有字母变成大写或者小写
# 会生成一个新的字符串,而不是改变原有的
name1 = 'python'
name2 = 'PYTHON'
print(name1.upper()) # 会得到PYTHON
print(name2.lower()) # 会得到python
isdigit()
# isdigit()可以判断一个字符串中是否都是数字,返回布尔类型
a = '12345'
print(a.isdigit()) # 会得到True
find()
# find()可以查找指定范围内的字串,找到就返回下标,找不到就返回-1
'''
str.find(a,start,end)
a:指定要找哪个子串
start:从哪个索引位置开始找,默认从头开始
end:找到哪个索引位置结束,默认找到字符串末尾
'''
a = 'pythonp'
print(a.find('p')) # 会得到0
print(a.find('s')) # 没有s这个元素,返回-1
print(a.rfind('p')) # rfind()是从反向开始找,此时会得到6
index()
这个方法和find()基本相同,只是如果没有找到指定子串,不会返回-1而是会报错
count()
# count()可以返回找到字串的次数
a = 'pythonp'
print(a.count('p')) # 会得到2,因为a中有两个p
注: 列表和元组同样可以使用index()和count()方法
split()
'''
可以按照指定字符切割字符串,并且将切割后的字符串转为列表
括号中放入要切割的字符,默认为空格
'''
# 不会该表原有字符串,而是返回一个全新的值
a = 'a b c d e'
print(a.split()) # 会得到['a', 'b', 'c', 'd', 'e']这样的一个列表
replace()
'''
replace()可以把字符串中的子串替换为新的字符串
str.replace(old,new,max)
old:要被替换的字符串
new:要替换成什么
max:最大替换次数,默认为替换所有
'''
# 不会改变原有字符串
a = 'a b c d e'
print(a.replace(' ','s')) # 把空格替换成了s
# 得到asbscsdse
join()
'''
join()用来将序列中的元素按照指定字符串进行拼接,生成一个新的字符串
用法:str.join(序列)
'''
list1 = ['a','b','c']
a = ' '.join(list1) # 将list1中的每个元素用一个空格进行拼接
print(a) # 会得到a b c
b = 's'.join(list1)
print(b) # 会得到asbsc