4、字典及集合 字典:dict set 集合

字典是无序的对象集合,使用键值对key-value存储,

键(key)必须 使用不可变类型,同一字典中,key必须是惟一的

字典的定义

info = {"name":"吴彦祖","age":"18"} ## 字典的定义
print(info["name"]) ## 字典的访问
print(info["age"])

字典的访问及获取

print(info["gender"]) ## 访问不存在的键:KeyError: 'gender'

  • 使用get方法获取键值

print(info.get("gender")) ## 使用get方法获取不存在键值,返回none
print(info.get("gender","femal")) ## 未找到键时,返回指定值

字典的增删改查

增,即是指定新的键,进行赋值

info = {"name":"吴彦祖","age":"18"}
newID=input("请输入您的ID号:")
info["id"] = newID
print(info)

删,两种方式:del,[clear]

info = {"name":"吴彦祖","age":"18"}
del info["name"]    ## 删除指定键值对
print(info)
del info            ## 删除整个字典
  • [clear],清空字典的内容,但字典依然存在
info = {"name":"吴彦祖","age":"18"}
print("clear前:",info)
info.clear()
print("clear后:",info)

修改,即重新赋值

info = {"name":"吴彦祖","age":"18"}
info["age"]="20"
print(info)

查询:可以分为查键,查值

info = {"id":"1","name":"吴彦祖","age":"18"}
print(info.keys())      ## 得到键的列表形式:['name', 'age']
print(info.values())    ## 得到值的列表形式:['吴彦祖', '18']
print(info.items())     ## 得到所有的项,item,每个键值对是一个元组
                        ## [('name', '吴彦祖'), ('age', '18')]

## 遍历所有的键
for key in info.keys():
    print(key)

## 遍历所有的值
for value in info.values():
    print(value)

## 遍历所有的项items,键值对
for key,value in info.items():
    print("key=%s	value=%s"%(key,value))


# 使用枚举类型,同时拿到数组下标和对应元素内容
mylist=["a","b","c","d"]
for i,con in enumerate(mylist):
    print(i+1,con)

set 集合

## set集合和dict字典类似,也是一组key的集合,但不存储value。

## 由于key不能重复,所以在set中,没有重复的key

## set是无序的,重复元素在set中自动被过滤