美文网首页
字典元素的增.删.改.查

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

作者: 匿隱 | 来源:发表于2019-01-24 11:20 被阅读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('没有该信息!')
    

    相关文章

      网友评论

          本文标题:字典元素的增.删.改.查

          本文链接:https://www.haomeiwen.com/subject/bebadqtx.html