字典是无序的对象集合,使用键-值(key-value)存储,具有极快的查找速度
key必须使用不可变类型
同一个字典中,key必须是唯一的,value可以重复
用{ }定于
#字典的定义d = {"name":"小杨“,"age":18}
#字典的访问print(d["name"]) # 与列表和元组不同,对字典进行访问时使用的不是下标,而是使用key进行访问
# 返回值为 小杨
print(d["gender"]) # 直接访问一个不存在的键会报错
print(d.get("gender")) # 使用get进行访问时,没有找到对应的键默认返回None
print(d.get("gender","m")) # 可以设定默认值,如果找到了对应的键则返回实际值,如果没 有找到对应的键则返回定义的默认值
#增(增加新的键值对)d = {"name":"小杨“,"age":18}
newID = input("请输入学号”)
d["id"] = newID
#删 #deld = {"name":"小杨“,"age":18}
print("删除前:%s"%d["name"])
del d["name"] #删除的不仅仅是值,键也会删除,删除的是整个键值对
print("删除后:%s"%d["name"]) #删除了指定键值对后,会报错
d = {"name":"小杨“,"age":18}
print("删除前:%s"%d)
del d #把字典变量从内存中进行删除
print("删除后:%s"%d) #删除字典后访问会报错
#clear 清空d = {"name":"小杨“,"age":18}
print("删除前:%s"%d)
d.clear
print("删除后:%s"%d) #返回空字典
#改d = {"name":"小杨“,"age":18}
d["age"] = 20
#查包括键的查询和值的查询
d = {"name":"小杨“,"age":18,“ID”:1}
d.keys() # 得到所有键,为列表形式
d.values() # 得到所有的值(列表)
d.items() # 得到所有的键值对,列表,每个键值对是一个元组[(),(),()]
#遍历for key in d.keys():
print(key)
for value in d.values():
print(value)
for key,value in d.items()
print("key = %s,value = %s"%(key,value))
list = ["a","b","c","d"]
for i,x in enumerate(list): # enumerate表示枚举函数,可以同时得到列表中的下标和内容
print(i,x) # 同时返回下标和内容
#其他操作len() # 获得字典的长度
max() # 获得最大的key
min() # 获取最小的key
dict() # 其他类型对象转换为字典 例如dict([(1,2),(3,4)]) ----> {1: 2, 3: 4}
in # 判断key是否存在
dict1.update(dict2) # 合并字典
dict(zip(list1,list2) # 将两个列表转为字典
dict2 = dict([['key1','value1']]) # 将一个嵌套列表转为字典
set(集合)set和dict类似,用{ }表示,也是一组key的集合,但不存储value,由于key不能重复,所以在set中,没有重复的key
应用:删除列表中的重复元素:
a = [1,1,1,2,2,2,3,3,3]
print(list(set(a)))
set是无序的,重复元素在set中自动被过滤
set可以看作数学意义上的无序和无重复元素的集合,因此,两个set可以做数学意义上的交集(&)、并集(|)、差集(-)等操作
常用操作用for循环进行遍历
set1.update(set2) # 更新集合,此时set2中的所有元素加在set1集合上
set1.add(5) # 向集合中增加新元素
set1.remove(5) # 移除集合中的元素
set1.pop() # 弹出元素,得到集合中的第一个元素
set1.clear() # 清楚元素
del set1 # 删除集合
len() # 获取集合的长度
max() # 获取最大的元素
min() # 获取最小的元素
set() # 其他类型对象转换为集合
每天不定时更新,想要一起学习的小伙伴记得点关注哦!!



