python自动化2021/03/08字典类型


#date: 2021/3/8

zhangsan = ["张三",18,"male"]
lisi = ["李四",23,"male"]
info = [zhangsan,lisi]
print(info[1][2]) #male

#创建字典:不可变类型可以作为字典的键(整型,字符串,元组) 可变类型(列表,字典)
name = "xxx"
dic = {name:"yuan","age":23,"gender":"male"}
print(dic[name]) #yuan
# print(dic["name"])#报错,name在字典里面是变量,不是字符串。
print(dic["xxx"])#yuan
print(dic) #{'age': 23, 'xxx': 'yuan', 'gender': 'male'}

info2 = {1:"123",2:"234"}
dic = {"name":"yuan","age":23,"gender":"male","name":"alex"}
print(dic["name"])

d = {[]:"yuan"}
print(d) #TypeError: unhashable type: 'list'


dic = {"name":"yuan","age":23,"gender":"male"}
#一 访问字典
# (1)直接访问
print(dic["name"]) #不建议使用[],键不存在就不会报错,不友好。
print(dic["names"]) #KeyError: 'names'
# (2)get方法通过键取值操作,如果没有改键,默认返回None类型(空)
print(dic.get("name"))
print(dic.get("names")) #None
print(dic.get("names","123")) #还可以修改默认None为你指定的值。
print(type(dic.get("names"))) #<class 'NoneType'>
#(3)setdefault方法
print(dic.setdefault("height",175)) #比get多一个功能,默认会自动把该键值对加入到字典中
print(dic)
#(4)keys value items
#keys 取出全部的键
print(dic.keys()) #dict_keys(['age', 'gender', 'name'])
#values取出全部的值
print(dic.values())#dict_values([23, 'yuan', 'male'])
#items
print(dic.items())#dict_items([('age', 23), ('name', 'yuan'), ('gender', 'male')])
#二 字典的基本操作-添加修改方法
dic["name"] = "alvin"
dic["height"] = "180cm"
dic2 = {"height":175,"hobby":["football","lanqiu"]}
dic3 = {"height":175,"hobby":["football","lanqiu"],"name":"calvin"} #原字典中有的键值会被更新掉。 同列表的extend功能
dic.update(dic2)
print(dic)
#三 删除
del dic["name"]
del dic #NameError: name 'dic' is not defined
dic.clear() #{}

dic.pop("name") #通过给出某个键删除键值对
dic.popitem() #python3.6之前是随机删除一个键值对,3.6之后是删最后一个键值对
print(dic)
#判断某一个键是不是在该字典里面 in or not in
print("name" in dic) #True
print("name" not in dic) #False






posted @ 2021-03-08 16:43  lpaxq  阅读(70)  评论(0编辑  收藏  举报