一.字典基础
1.创建字典
person = {'name':'xiaoming','age':18} #格式:{key:value}
person1 = dict(name = 'xiaoming',age = 18) #格式:用dict函数
2.基本操作
person = {'name':'xiaoming','age':18}
#len(d):返回字典的键值对的长度
print(len(person))
#d[k]:获取k这个key对应的值
print(person['name'])
#d[k] = v:设置键为k的值为v,如果字典中不存在键为k的这一项,那么自动添加进去
person['name'] = 'hahaha'
person['height'] = 175
print(person)
#del d[k]:删除d这个字典中键为 k 的这一项数据
del person['height']
print(person)
#k in d:检查d这个字典中是否包含键为 k 的这一项
if 'name' in person:
print("True")
else:
print("False")
#字典中的键可以是任意的不可变类型,比如:浮点类型 整型 字符串或元组(不能是字典和列表)
打印结果:
2
xiaoming
{'age': 18, 'height': 175, 'name': 'hahaha'}
{'age': 18, 'name': 'hahaha'}
true
二.字典常用方法:
1.clear:清除字典中所有项。
person = {'name':'xiaoming','age':18}
person.clear()
print(person)
打印结果:
{}
2.get:访问字典中那个键对应的那个值。这个方法不会抛出异常。
person = {'name':'xiaoming','age':18}
name1 = person.get('name')
print(name1)
#若没有该key,则返回一个none
name2 = person.get('height')
print(name2)
打印结果;
xiaoming
None
3.pop:用来获得对应于给定键的值,然后将这个键值对删除。会返回这个值。
person = {'name':'xiaoming','age':18}
name1 = person.pop('name')
print(name1)
print(person)
打印结果:
xiaoming
{'age': 18}
4.popitem:随机的移除字典中的一项。因为字典是无序的所以会随机删除
person = {'name':'xiaoming','age':18}
name1 = person.popitem()
print(name1)
print(person)
打印结果:
('age', 18)
{'name': 'xiaoming'}
5.update:用一个字典更新另外一个字典,如果碰到相同的键,则会覆盖。
person1 = {'name':'xiaoming','age':18}
person2 = {'height':175,'weight':120}
person1.update(person2)
print(person1)
打印结果:
{'name': 'xiaoming', 'height': 175, 'weight': 120, 'age': 18}
6.setdefault:如果字典中包含有给定键,则返回该键对应的值,否则返回为该键设置的值,并且会设置值到字典中。
#如果键在字典中存在,那么就会返回字典中的值
person1 = {'name':'xiaoming','age':18}
person2 = person1.setdefault('name','nicai')
print(person2)
print(person1)
打印结果:
xiaoming
{'name': 'xiaoming', 'age': 18}
#如果键在点中不存在,那么会把这个键值对添加到字典中。并且会返回这个值
person1 = {'name':'xiaoming','age':18}
person2 = person1.setdefault('name1','nicai')
print(person2)
print(person1)
打印结果:
nicai
{'name1': 'nicai', 'name': 'xiaoming', 'age': 18}
三.遍历字典
person1 = {'name':'xiaoming','age':18}
#1.遍历字典中所有的key:使用keys方法,该方法将所有的键以列表的方式返回
for key in person1.keys():
print(key)
#2.遍历字典中所有的value:使用values方法,该方法将所有的值以列表的方式返回
for value in person1.values():
print(value)
#3.遍历字典中所有的键值对:使用item方法,这个方法将所有的键和值以列表的方式返回
for key,value in person1.items():
print(key)
print(value)
打印结果:
name
age
xiaoming
18
name
xiaoming
age
18