python---字典


字典定义

1.定义:字典以k-v形式存在 使用{}定义,并且key不能重复


# 字典:
stus={
"name":"wangshuai",
"id":1,
"age":18,
"addr":"beijing",
"hight":188,
"sex":"nv"
}
# key - value 形式
# 获取
print(stus.get("age")) #获取不到key默认返回none
print(stus["age"]) #不存在的看, 获取不到 会报错 key error
#新增 stus["key"]=value
stus["phone"]=110
stus.setdefault("email","abc"@qq.com)=value #区别:对于已经存在的key,[]会修改他的值 setdefault 不会修改已存在的值
# 新增不存在的key
# 新增存在的key


# 修改:对于已经存在的key 该方法就是修改值
stus["age"]=36
print(stus)

pptint.pptint(stus,indent=4) # 格式化,indent=4 缩进,需要跟开头加import pprint

a=1
b="2"
pptint.pptint(a)
pptint.pptint(b) #可以看出类型

取值 [];get

 

(1)dict["key"]

 

(2)dict.get("key")

 

区别:当取一个不存在的key时,[]会报错,get返回none

 

例:

 

print(stu_info["name1"])
print(stu_info.get("addr1"))



# 删除

(1)pop()

 

(2)del关键字

 

(3)popitem():删除最后一个元素

 

例:

stus.pop("age")
stus.popitem() 随机删除一个元素
pprint.pprint(stus,indernt=4)
del stus["sex"] 关键字

# 字典是无序的
stus.clear()#清空字典
stus.values() #所有的字典里面的values
stus.keys() #所有的key
stus.items() #转换为二维数组,里面的每个元素就是key和valuse
stus.update() #stus.update(stu2) 把一个字典的值,放到另一个字典里去
print(stus)
update()合并字典  stu_info.update(d)
dict.items()提取字典里面的k-v print(stu_info.items()) # 提取是所有的k-v
补充,py2与py3的区别has_key("name") python2里面判断是否存在key,py3 判断key是否存在 使用in


字典循环:


for key,value in stu_info.items():
print("%s->%s" %(key,value))

练习
# 写一个录入学生信息的程序
# 接收输入学生名称 判断学生是否存在 学生已存在是提示已存在,继续添加
# 不存在时加入list里面 继续添加
# 如果输入quit 程序结束
list=[]
while True:
name=input("请输入学生姓名:")
if name=="quit":
print("程序结束,现在的学生名单为",list)
break
elif list.count(name) != 0:
print("该学生已存在,请重新输入")
continue
else:
list.append(name)
print("添加成功,现在学生名单是:",list)
 
 

 

 


 
posted @ 2021-09-02 10:37  王王的王  阅读(63)  评论(0)    收藏  举报