一、造字典
# 造字典
# 第一种方式
dic = {'aaa': 1, 2: 2, 3.1: 3, (4, 5, 6): 4}
print(type(dic))
# 第二种方式
print(dict({'a': 1, 'b': 2}))
# 第三种方式
print(dict(a=1, b=2, c=3))
# 把列表中的三个值放入字典中
# 第一种方法
keys =['name','gender','age']
dic ={}
for key in keys:
dic[key] =None
print(dic)
# 第二种方法
a = {}.fromkeys(keys,None)
print(a)
运行结果:
<class 'dict'>
{'a': 1, 'b': 2}
{'a': 1, 'b': 2, 'c': 3}
{'name': None, 'gender': None, 'age': None}
{'name': None, 'gender': None, 'age': None}
二、对字典增删操作
1、字典是无序的,在操作字典的时候,不存在在中间或者指定位置插入值
2、字典中的key是唯一的,如果出现的重复的key,字典只保留一个
dic ={'a':1,'b':2,'c':3,'c':4}
dic['d'] = 4
print(dic)
运行结果:
{'a': 1, 'b': 2, 'c': 4, 'd': 4}
3、将列表打印为字典格式,列表中元素必须是成对出现,否则,报错
l =[('name','张xx'),['age','190']] # 每个元素必须两个值(成对出现),第一个是元组,第二个是列表
print(dict(l))
运行结果:
{'name': '张xx', 'age': '190'}
4、对字典的操作
# 增加值
dic = {'a': 1, 'b': 2, 'c': 3, 'c': 4}
dic['d'] = 4
print(dic)
# 字典的取值
dic = {'a': 1, 'b': 2, 'c': 3}
print(dic.get('a'))
print(dic.get('s')) # 若字典中无此key,则返回None
# 删除
# 第一种方式
dic = {'a': 1, 'b': 2, 'c': 3}
del dic['a']
print(dic)
# 第二种方式
print(dic.pop('b'))
# 第三种方式
dic = {'a': 1, 'b': 2, 'c': 3}
print(dic.popitem()) # 删除最后添加到字典的key和value,并返回其值
# 第四种方式
dic = {'a': 1, 'b': 2, 'c': 3}
print(dic.clear())
# 长度
dic = {'a': 1, 'b': 2, 'c': 3}
print(len(dic)) # 统计key ,value 键值的个数
运行结果:
{'a': 1, 'b': 2, 'c': 4, 'd': 4}
1
None
{'b': 2, 'c': 3}
2
('c', 3)
None
3
三、字典的内置方法
dic = {'a': 1, 'b': 2, 'c': 3}
print(dic.keys())
print(dic.values())
print(dic.items())
for key in dic.keys():
print(key)
print('-' * 10)
for value in dic.values():
print(value)
print('-' * 10)
for item in dic.items():
print(item)
print('-' * 10)
for item in dic.items():
print(item[0], item[1])
msg = ('张', '大', '人')
name1, name2, name3 = msg
print(name1, name3, name2)
运行结果:
dict_keys(['a', 'b', 'c'])
dict_values([1, 2, 3])
dict_items([('a', 1), ('b', 2), ('c', 3)])
a
b
c
----------
1
2
3
----------
('a', 1)
('b', 2)
('c', 3)
----------
a 1
b 2
c 3
张 人 大
补充:
1、updata:更新(覆盖旧的)
2、setdefault:设置默认值
info = {'name': '张', 'age': 79}
print(info.setdefault('age'))
print(info.setdefault('gender'))
print(info)
info = {'name': '张', 'age': 79}
print(info.setdefault('gender', '保密'))
print(info)
运行结果:
79
None
{'name': '张', 'age': 79, 'gender': None}
保密
{'name': '张', 'age': 79, 'gender': '保密'}
# 附件:元组是小括号
t = (1, 1.2, 'abc', [4, 5, 6], {'a': 1, 'b': 2}, (7, 8, 9))
print(type(t))
运行结果:<class 'tuple'>