(1)元组
①定义 tuple=( , , , , )
②访问 元组名[index]
元组名[-1] 获取最后一个元素
元组名[-2] 获取倒数第二个
③操作
1. 修改元组 元组不能变(元组中的元素不可变)
虽然不能修改元组的元素,但可以给存储元组的变量赋值
例: tuple = (1,2,3,[1,2])
tuple[-1][1] = 1 可变
2.删除元组 del
3.元组重复 *
4.判断元素是否在元组中 in
5.元组的截取
格式:元组名[开始下标:结束下标] 从开始下标开始截取,截取到结束下标之前
6.二维元组:元素为一维元组的元组
(( , )( , ))
④方法
1.len() 返回元组中元素的个数
2.max() 返回元组中的最大值
min() 返回元组中的最小值
3.tuple() 转成元组
(2)字典
使用键值(key-value)存储,具有极快的查找速度
key的特性:①字典中的key必须唯一
②key必须是不可变对象
③字符串,整数时不可变的,可以作为key
④list是可变的,不能作为key
dict={“tom”:60,“jack”:70}
元素的访问
dict["jack"]
dict.get("")
添加
dict["ha"] = 99
删除
dict.pop()
遍历
for key in dict.keys(): //遍历键
print(key,dict[key])
for value in dict.values(): //遍历值
print(value)
for i,v in dict.items() //遍历键值对
print(i,v)
for i,v in enumerate(dict1):
print(i,v)
特点:
1.查找和插入的速度极快,不会随着key-value的增加而变慢
2.需要占用大量的内存,内存浪费多
(3)集合set
s = set([1,2,3,4,5]) # set的元素不能是列表,字典,它们是可变的
s.add((7,8,9))
s.update([6,7,8]) #打碎插入
#交集
var = s1 & s2
#并集
var = s1 | s2
#类型转换
list --> set
tuple --> set
set–>list
set–>tuple
例1:统计字符串每个单词出现次数:
1.以空格切割字符串
2.循环处理列表中的每个元素
3.以元素当作KEY去一个字典中提取数据
4.如果没有提取到,就以该元素作为KEY,1作为VALUE存进字典
5.如果提取到,将对应的KEY的value修改,值加1
6.根据输入的字符串当作KEY再去字典取值
w=input()
dict={ }
str="haha haha meimi"
list=str.split(" ")
for v in list:
c=dict.get(v)
if c==None:
d[v]=1
else:
d[v]+=1
print(d[w])