1.dict创建字典
dict是字典的标志,同样也是创建字典的基本方法(它是类,也可以叫做函数或方法)
#
a=[("name","bob"),("age",16),("sex","male")]
b=dict(a)#这里能看出dict没有用obj.method(arg)的方法
# print(b)#{'name': 'bob', 'age': 16, 'sex': 'male'}
#也可以用一种更简单粗暴的方法,就是关键字实参
b=dict(name="egar",age=17)
# print(b)#{'name': 'egar', 'age': 17}
2.基本行为
print(len(b))#2 返回字典的键值对数量
b["name"]="lily"
print(b)#{'name': 'lily', 'age': 17} 直接修改某个值
del b["age"]
print(b)#{'name': 'lily'} 直接删除某个键值对
print("name" in b)#True 判断某个键是否在字典中
3.键的类型
键可以是任何不可变的数据类型,字符串、元组、数字都是不可变的
#
c={}
c[1]="one"
print(c)#{1: 'one'} 这里c={}就是创建空字典的一种方式,并且之后可以直接赋值
#可以看到,数字也可以作为键,这是不是和列表很像呢
4.简单应用
之前的关系字典是最基础的样子,字典和JS中的对象很像,嵌套的操作也是一样
people=["bob","herry","hermione"]
keyChange={"s":"sex","n":"schoolNum"}
peopleInfo={
"bob":{
"sex":"male",
"schoolNum":1231
},
"herry":{
"sex":"male",
"schoolNum":1232
},
"hermione":{
"sex":"female",
"schoolNum":1233
}
}
name=input("({})\n请输入查找的名字:".format(people))
keyWords=input("请输入要查询的内容(性别:s,学号:n):")
result="{} 的 {} 是 {}".format(name,keyChange[keyWords],peopleInfo[name][keyChange[keyWords]])
print(result)
# (['bob', 'herry', 'hermione'])
# 请输入查找的名字:bob
# 请输入要查询的内容(性别:s,学号:n):s
# bob 的 sex 是 male