#1.格式
info = {
"k1":"v1", #键值对
"k2":"v2"
}
#2字典中可以存放任意值,布尔,列表,字典不能作为字典的Key
#字典是无序的
info = {
"k1":18,
"k2":20,
"k3":[
11,
"zsd",
"22",
(),
[],
{
"k4":156,
"k5":"sad",
}
],
"k6":("s",215)
}
print(info)
#结果:{'k1': 18, 'k2': 20, 'k3': [11, 'zsd', '22', (), [], {'k4': 156, 'k5': 'sad'}], 'k6': ('s', 215)}
#字典支持For循环
for item in info.keys(): #输出键
print(item)
结果:
k1
k2
k3
k6
for k,v in info.items():#输出键值对
print(k,v)
结果:
k1 18
k2 20
k3 [11, 'zsd', '22', (), [], {'k4': 156, 'k5': 'sad'}]
k6 ('s', 215)
#3.根据索引取值,字典是无序的,不能根据切片进行查询
f = info["k2"]
f1 = info["k3"][5]["k5"]
print(f)
print(f1)
#结果:20 sad
#4.修改字典
dict = {
"name":"wu",
"age":18,
"class":"first"
}
dict["name"] = "liu"
print(dict["name"])
# 结果:liu
#5.删除字典元素
dict = {
"name":"wu",
"age":18,
"class":"first"
}
del dict["name"]
print(dict)
#结果:{'age': 18, 'class': 'first'}
#清空字典
dict.clear()
print(dict)
#结果:{}
#删除字典
del dict
print(dict)
# 结果:<class 'dict'>
#6.字典特性
#1)不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住,如下实例:
dict = {
"name":"wu",
"age":18,
"class":"first",
"name":"liu"
}
print(dict['name'])
#结果:liu
#2)键必须不可变,所以可以用数字,字符串或元组充当,而用列表就不行
# dict = {['Name']: 'Runoob', 'Age': 7}
# print("dict['Name']: ", dict['Name'])
#7.方法
#(1)fromkeys是根据序列,创建字典,并指定统一的值。
v = dict.fromkeys(["k1",123,"k2"],145)
print(v)
# 结果:{'k1': 145, 123: 145, 'k2': 145}
#(2)get方法,根据Key获取值,key不存在时,可以指定默认值(None)
dic= {
"k1":"m1"
}
v1 = dic.get("k1",1111)
print(v1)
# 结果:m1
#(3)pop为删去key值并获取值,如果key不存在,用参数代替
dic= {
"k1":"m1",
"k2":"m2"
}
v2 = dic.pop("k1",90)
print(dic,v2)
# 结果:{'k2': 'm2'} m1
#随机删除一个并获取删除的键值
dic= {
"k1":"m1",
"k2":"m2"
}
k,v3 = dic.popitem()
print(dic,k,v3)
# 结果:{'k1': 'm1'} k2 m2
#(4)设置值
#已存在,不设置,获取当前key对应的值
#不存在,设置,获取当前key对应的值
dic= {
"k1":"m1",
"k2":"m2"
}
v4 = dic.setdefault("k3",123)
print(dic,v4)
#结果:{'k1': 'm1', 'k2': 'm2', 'k3': 123} 123
#(5)updata更新
dic= {
"k1":"m1",
"k2":"m2"
}
# dic.update({"k1":124,"k3":"saff"})
# print(dic)
#结果:{'k1': 124, 'k2': 'm2', 'k3': 'saff'}
dic.update(k1 = 123,k2 = "sdsd",k3 = "5")
print(dic)
#结果:{'k1': 123, 'k2': 'sdsd', 'k3': '5'}