目录
一.数据容器-元组
二.元祖的遍历循环
三.元祖的特点
四.数据容器-字符串
1.字符串定义与下标索引
2.字符串的替换
3.字符串的分割
4.统计字符串中某字符的出现次数
5.统计字符串的总长度
6.字符串的特点
五.综合练习题目
1.元组练习:索引查找
2.字符串练习题 :开发敏感词语过滤程序
思考:列表是可以修改的。 如果想要传递的信息,不被篡改,列表就不合适了。
元组同列表一样,都是可以封装多个、不同类型的元素在内。 但最大的不同点在于: 元组一旦定义完成,就不可修改 所以,当我们需要在程序内封装数据,又不希望封装的数据被篡改,那么元组就非常合适了
tuple1 = (1, '白', True, [0, 3, 6]) # 定义元祖,支持嵌套
print(tuple1)
t1 = tuple1.index('白') # 查找'白'在元祖中的下标序号
print(t1)
t2 = tuple1.count('白') # 统计'白'在元祖中出现的次数
print(t2)
t3 = len(tuple1) # 统计元祖中共有多少元素
print(t3)
'''
(1, '白', True, [0, 3, 6])
1
1
4
'''
同列表一样,元组也可以被遍历。 可以使用while循环和for循环遍历它
tuple1 = (1, '白', True, [0, 3, 6]) # 定义元祖
# while循环遍历元祖
index = 0
while index < len(tuple1):
print(tuple1[index])
index += 1
# for循环遍历元祖
for i in tuple1:
print(i)
'''
1
白
True
[0, 3, 6]
1
白
True
[0, 3, 6]
'''
经过上述对元组的学习,可以总结出元组有如下特点:
tuple1 = (1, '白', True, [0, 3, 6])
tuple1[3][0] = 1 # 可以改元组里面的列表,但改后的类型也要一样的东西
tuple1[3][1] = '白' # 类型也不能变
# tuple1[0] = 1
# tuple1[1] = 1报错,元组不可修改
# tuple1[2] = 1
print(tuple1)
print(id(tuple1)) # 2290386637904数据的内存地址
'''id()可以查看数据的内存地址'''
name1 = 'baibaideweijie'
print(name1[0])
print(name1[-1])
print(name1.index('j')) # 查找特定字符串j的下标索引值
'''
输出结果:
b
e
11
'''
语法:字符串.replace(字符串1,字符串2) 功能:将字符串内的全部:字符串1,替换为字符串2 注意:不是修改字符串本身,而是得到了一个新字符串哦
name1 = 'baibaideweijie'
name2 = name1.replace('de', '的') # 把'de'换成'的'
print(name2)
print(name1)
'''
baibai的weijie
baibaideweijie
'''
可以看到,字符串name1本身并没有发生变化,而是得到了一个新字符串对象
语法:字符串.split(分隔符字符串) 功能:按照指定的分隔符字符串,将字符串划分为多个字符串,并存入列表对象中 注意:字符串本身不变,而是得到了一个列表对象
name3 = '白 白 的 wei jie'
name4 = name3.split(' ') # (' ')指定空格字符为中间,左右进行分割成多个字符串
print(name3) # 白 白 的 wei jie
print(name4) # ['白', '白', '的', 'wei', 'jie']
'''可以看到,字符串按照给定的 <空格>进行了分割,分割处前后变成多个子字符串,并存入一个列表对象中。
'''
name5 = name3.split('的') # 从指定字符开始分割,左右两侧被分成单独的字符串
print(name5) # ['白 白 ', ' wei jie']
语法:字符串.count(字符串)
name3 = '白 白 的 wei jie'
print(name3.count('白')) # 统计name3中白的出现次数,2次
语法:len(字符串),数字字母符号中文均被算作是一个字符
name6 = '12345abcdee白白的wj.+=;-*'
print(len(name6)) # 数字字母符号中文均被算作是1个字符,共22个
作为数据容器,字符串有如下特点:
tuple1 = ('one,two', '12', '三,四,五,六') a. 计算元组长度并输出 b.获取元组第2个元素并输出 c.获取元素第3个元素中的最后一个元素并输出 d.使用for循环遍历输出第1个元组中的元素
tuple1 = ('one,two', '12', '三,四,五,六')
print(len(tuple1))
print(tuple1[1])
print(tuple1[2][-1])
for i in tuple1[0]:
print(i)
'''
输出结果:
元祖长度为3
第二个元素为12
第三个元素中的最后一个一个元素,六
遍历循环第一个元祖
o
n
e
,
t
w
o
'''
1、开发敏感词语过滤程序,提示用户输入内容,如果正常发言则打印用户输入的内容,
如果用户输入的内容中包含不优雅的
如 “cnm” , “tmd” 则将内容替换为***,并提醒用户
a = input('请输入优雅的语言:')
a1 = a.replace('cnm', '***').replace('tmd', '***')
if a == 'cnm' and 'tmd':
print(f'监测到{a1}是不文明用语,系统自动屏蔽')
else:
print(a)