一、字典dic
- 字典的定义与访问
#字典的定义
info = {"name":"Tom","age":18}
#字典的访问
print(info["name"])
- 访问不存在的键
# print(info["gender"]) #KeyError: 'gender'
print(info.get("gender")) #None, 使用get方法,未找到对应的键,默认返回None
#可指定不存的键默认返回值
print(info.get("age","20"))
print(info.get("gender","male"))
1.1 增删改查
增
#增
newID = input("please enter your ID:")
info["id"] = newID
print(info["id"])
删 [del:删除]
#删
# [del] 删除键值对
info1 = {"name":"Jerry","age":21}
print("before del:%s"%info1["name"])
# del info1["name"]
# print("after del:%s"%info1["name"]) #删除指定键值对,再次访问报错
# del info1
# print("after del info1:%s"%info1) #删除字典后不可访问,NameError: name 'info1' is not defined.
删 [clear:清空]
print("before clear:%s"% info1)
info1.clear()
print("after clear:%s"%info1)
改
#改
info["age"] = 22
print(info["age"])
查
#查:遍历 键、值、键值对
info = {"id":2,"name":"Tom","age":18}
print(info.keys()) #遍历所有的键(列表)
print(info.values()) #遍历所有的值(列表)
print(info.items()) #遍历所有的项(列表),每一个键值对是一个元组,使用元组的方式访问
使用for循环遍历:
#遍历所有的键
for key in info.keys():
print(key)
#遍历所有的值
for value in info.values():
print(value)
#遍历所有的项
for key,value in info.items():
print("key=%s,value=%s"%(key,value))
使用枚举函数,同时获取列表中的下标和元素内容
#列表
mylist = ["a","b","c","d"]
for x in mylist:
print(x)
#使用枚举函数,同时获取列表中的下标和元素内容
for i,x in enumerate(mylist):
print(i,x)
1.2 操作方法
访问字典中元素:
1.通过key访问,key不存在会抛出异常,print(dict1["Tom"])
2.通过get方法,不存在返回None,print(dict1.get("Tom"))
遍历字典:
1.通过for循环,只能获取key, for key in dict1: print(key,dict(key))
2.通过items(),获取key和val, for key,val in dict1.items(): print(key,val)
直接获取所有key和value:使用keys(), values()
print(dict1.keys()) / print(dict1.values())
修改val:直接通过key修改,dict1["Tom"] = 2
新增键值对:直接新增,dict1["jerry"] = 3
字典中元素的删除:通过key删除, del dict1["Tom"]
字典中的弹出:通过pop(),dict1.pop("Tom")
判断key是否存在:in,"key1" in. dic1
合并字典:update,dict1.update(dic2)
把两个列表转为字典:dict+zip方法,dict(zip(list1,list2))
把一个嵌套列表转为字典:dict(),dict2= dict([["key1","value1"]])
清除字典内的元素:clear(), dict1.clear()
获取字典长度:len()
获取最大的key:max()
获取最小的key:min()
其它类型对象转换成字典:dict(), dict([(1,2),(2,3)])
二、集合
set(集合):可做去重
- set和dict类似,也是一组key的集合,但不存储value。key不能重复,在set中没有重复的key。
- set是无序的,重复元素子啊set中自动被过滤。
set可看成数学意义上的交集(&)、并集(|)、差集(-)等操作。
常用方法:
遍历集合:for,for i in set1: print(i)
更新集合:update(), set1.update(set2)
向集合中添加元素:add(), set1.add(5)
移除集合中的元素:remove(), set1.remove(5)
弹出元素:pop(), val = set1.pop()
清除元素:clear(), set1.clear()
删除元素:del(), del set1
其它类型转换成集合:set()