字典元素的增.删.改.查

2019-01-24  本文已影响0人  匿隱

字典元素的增删改查

1.查(获取值)

注意:字典中的键值对单独拎出来没有任何意义

a.字典[key] - 获取字典中key对应值

注意: 当key不存在的时候,会报KeyError

car = {'color': '黄色', 'type': '跑车', 'price': 500000}
print(car['color'])
print(car['price'])
# print(car['speed'])  # KeyError: 'speed'

b.

字典.get(key) - 获取字典中key对应值; 当key不存在的时候不会报错,并且取到一个默认值None
字典.get(key,值1) - 获取字典中key对应值;当key不存在的时候不会报错,并且取到指定的值1

print(car.get('type'))
print(car.get('speed'))

print(car.get('color', '红色'))   # 黄色
print(car.get('speed', 0))       # 0

c.遍历字典

注意: 直接通过for-in遍历字典取到的是key

dict1 = {'a': 100, 'b': 200, 'c': 300}
# 遍历字典取到的是key(推荐使用)
for key in dict1:
    # key
    print(key, end=' ')
    # value
    print(dict1[key])


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('没有该信息!')
上一篇下一篇

猜你喜欢

热点阅读