容器类型数据
可哈希数据:(不可变数据) Number(int , float , bool ,complex) str , tuple
可哈希数据可以作为字典的键和集合的值,剩下的都不可以
不可哈希数据:(可变数据) list dict set
字典中的键 推荐使用按照变量命名的字符串去声明最为理想
1.str 字符串 可获取,不可修改,有序
字符串可以通过索引下标取值
可获取
0 1 2 3 45 6 7 9 正向索引
strvar = "瞅你一眼,浑身哆嗦"
-9-8-7-6-5-4-3-2-1 逆向索引
#获取"眼"字
res = strvar[3]
res = strvar[-6]
print(res)
可以修改么? 不可修改
strvar[3] = 123 error
2.list 列表 可获取,可修改,有序
1.定义一个空列表
listvar = []
print(listvar)
print(type(listvar))
2.获取列表元素
0 1 2 3 4 正向索引
listvar = [55,3.155,True,3+9j,"abcdf"]
-5 -4 -3 -2 -1 逆向索引
res = listvar[2]
print(res)
拿到列表最后一个元素
res = listvar[-1]
print(res)
修改列表元素
listvar[0] = 11
print(listvar)
3.tuple 元组 可获取 不可修改 无序
定义一个空元组 *********
tuplevar = ()
print(tuplevar,type(tuplevar))
判断它是否是元组,在于,逗号 *********
tuplevar = ("abc",)
tuplevar = 1,2
print(tuplevar,type(tuplevar))
定义一个元组
tuplevar = ("李祥海","王成全","赖廷","银燕","毕杨生")
获取元组当中的值
res = tuplevar[2]
print(res)
修改元组中的值? 不可以
#tuplevar[0] = 123 error
4.集合 set (集合是用来做交叉并补操作的) 不可获取,不可修改,无序
定义一个空集合
setvar = {} # 这个dict字典类型
print(setvar,type(setvar))
setvar = set()
print(setvar,type(setvar))
setvar = {"刘德华","张学友","郭富城","王文"}
print( setvar , type(setvar) )
setvar = {"刘德华","张学友","郭富城","王文","王文"}
print(setvar)
集合能够获取值么? 不行
res = setvar[0] error
集合能够修改值么? 不行
setvar[0] = 199 error
setvar = {1,2,"a",(1,2,3,{"a":1}) }
print(setvar)
5.dict 字典 可获取,可修改,无序
dictvar = {}
print(dictvar, type(dictvar))
dictvar = {"top":"夏侯惇" , "middle":"亚瑟","bottom":"鲁班七号","jungle":"刘备","support":"蔡文姬"}
通过键获取字典中的值
res = dictvar["middle"]
print(res)
修改字典的中的值
dictvar["bottom"]="孙尚香"
print(dictvar)
字典中的键和集合中的值有要求,需要可哈希数据
dictvar = {5:1 , 3.78:12 , True:90 , 6+8j:"abc" , "你好":99,(1,2,3):1122}
print(dictvar)