19-01-03字典的增删改查,遍历
2019-01-03 本文已影响0人
one丨
字典元素的增删改查
-
1.查(获取值)
注意:字典中的键值对单独拎出来没有任何意义 -
a.字典[key] - 获取字典中key对应值
注意: 当key不存在的时候,会报错,会报KeyError
car = {'color': '黄色', 'type': '跑车', 'price': 500000}
print(car['color'])
print(car['price'])
# print(car['speed']) # KeyError: 'speed'
image.png
- b.
字典.get(key) - 获取字典中key对应值; 当key不存在的时候不会报错,并且取到一个默认值None
字典.get(key,值1) - 获取字典中key对应值;当key不存在的时候不会报错,并且取到指定的值1
car = {'color': '黄色', 'type': '跑车', 'price': 500000}
print(car.get('type'))
print(car.get('speed'))
print(car.get('color', '红色')) --- # 黄色
print(car.get('speed', 0)) ---- # 0
image.png
- c.遍历字典
注意: 直接通过for-in遍历字典取到的是key
dict1 = {'a': 100, 'b': 200, 'c': 300}
遍历字典取到的是key(推荐使用)
dict1 = {'a': 100, 'b': 200, 'c': 300}
for key in dict1:
#key
print(key, end=' ')
# value
print(dict1[key])
image.png
print(dict1.values(), dict1.items())
#遍历字典的values(),获取所有的值
for value in dict1.values():
print(value)
# values = []
# for key in dict1:
# values.append(dict1[key])
# for value in values:
# print(value)
# 遍历字典的items(),直接获取key和value(不建议使用)
for key, value in dict1.items():
print(key, value)
# items = []
# for key in dict1:
# items.append((key, dict1[key]))
# for key,value in items:
# print(key, value)
遍历字典
2.增、改
字典[key] = 值 - 当key不存在就是添加键值对; 当key存在的时候就是修改key对应的值
movie = {'name': '喜羊羊与灰太狼', 'type': '卡通', 'time': 120}
添加
movie['score'] = 7.9
print(movie)
修改
movie['type'] = '搞笑'
print(movie)
字典增与改
3.删(删除键值对)
-
a.
del 字典[key] - 删除字典中指定的key对应的键值对 -
b.
字典.pop(key) - 取出字典中key对应的值
del movie['time']
print(movie)
name = movie.pop('name')
print(movie, name)
字典元素删
练习: 用一个字典保存一个学生的信息: {'name': '张三', 'age': 30, 'score': 80}
输入需要修改的信息,例如输入:name ->修改名字, age -> 修改年龄... abc -> 提示'没有该信息'
例如:
-
请输入要修改的信息: name
请输入新的名字: 李四
{'name': '李四', 'age': 30, 'score': 80} -
请输入要修改的信息: age
请输入新的年龄: 18
{'name': '张三', 'age': 18, 'score': 80} -
请输入要修改的信息: abc
没有该信息!
student = {'name': '张三', 'age': 30, 'score': 80}
message = input('请输入要修改的信息:')
if student.get(message):
if message == 'name':
new_name= input('请输入新的名字:')
student['name'] = new_name
elif message == 'age':
new_age = int(input('请输入新的年龄:'))
student['age'] = new_age
else:
new_score = input('请输入新的分数:')
student['score'] = new_score
print(student)
else:
print('没有该信息!')
练习