zoukankan      html  css  js  c++  java
  • 2018.8.1笔记(字典的增删改查,操作,嵌套,)

    一. 字典(字典在遍历时不能修改)

    dict 用{}来表示 键值对数据 {key:value} 唯一性

    键 都必须是可哈希的 不可变的数据类型就可以当做字典中的键

    值 没有任何限制


    二.字典的增删改查
    1.增加
    (1) dic[key] = value #强制增加

    dic.setdefault(key,value) 如果键在字典中存在不进行任何操作,否则就添加

    可以通过key查询,没有这个key返回None
    例题:
    dic = {'易大师':'剑圣','剑豪':'托儿所','草丛伦':'大宝剑'}
    dic['火女'] = '人头狗'   # 新增
    print(dic)
    dic.setdefault('火女','安妮')     # 如果在字典中存在就不进行任何操作,不存在就进行添加
    dic.setdefault('火女','火男')
    2.删除 
    pop(key) 有返回值 返回的是被删除value
    del dic[key]
    popitem() 随机删除
    clear() 清空字典
    例题:
    dic = {'易大师':'剑圣','剑豪':'托儿所','草丛伦':'大宝剑'}
    ret = dic.pop('易大师')  #通过key删除  返回被删除的value
    print(ret)
    del dic['剑豪']#del 在字典里只能删除一个 或删除表(del dic)
    dic.clear()   #清空字典 {}
    ret = dic.popitem()   #随机删除  返回值 一个元组  (key,value)
    print(ret)
    3.修改
    dic[key] = value #强制修改
    dic.update(字典)#更新
    例题:
    dic['剑豪'] = '哈莎阁'   # 强制修改
    dic1 = {'火女':'安妮','火男':'布兰德','维恩':'暗影猎手','剑豪':'哈莎阁'}
    dic1.update(dic)# 用dic 去更新dic1
    print(dic1)
    4.查询
    get(key)#没有这个键的时候查询会报错
    dic[key]#没有返回None 可以指定返回内容
    for 循环  元组  键  值   键值对
    setdefault(key)#没有返回None 可以指定返回内容
    例题:
    for i in  dic:
    print(i)     #for 循环默认是获取字典中的键
    print(dic['易大师父'])                   #查看1   没有这个键的时候查询会报错
    print(dic.get('易大师','你傻啊,没有!'))    #查看2   没有返回None 可以指定返回内容
    print(dic.setdefault('易大师范湖'))        #查看3    没有返回None
    三.字典的其他操作:

    keys 获取到所有的键存在一个高仿的列表中

    values 获取到所有的值存在一个高仿的列表中

    items 获取到所有的键值对已元祖的形式存在一个高仿的列表中
    例题:
    print(dic.keys())  # (高仿列表)
    print(dic.values())  # (高仿列表)
    print(dic.items())
    for i in dic.keys():
         print(i)
    for i in dic:
        print(i)     #获取到字典中的每一个键
    for i in dic.values():
        print(i)     #获取到字典中的每一个值
    for i in dic.items():#键值对
         print(i)
    解构:
    a,b = '12'   #将后边解构打开按位置赋值给变量 支持  字符串 列表 元组
    print(a)
    print(b)
    dic = {'易大师':'剑圣','剑豪':'托儿所','草丛伦':'大宝剑'}
    for a,b in dic.items():
        print(a)
        print(b)
    a,b  = 1, 2
    a,b  = (1,2)
    a,b  = [1,2]
    批量创建字典
    dic1 = {}
    dics = dic1.fromkeys([1,2,3],'abc')
    四. 字典的嵌套:
     dic = {
                'name':'汪峰',
                'age':43,
                'wife':{
                    'name':'国际章',
                    'age':39,
                    'salary':100000
                },
                'baby':[
                    {'name':'熊大','age':18},
                    {'name':'熊二','age':15},
                ]
            }
            dic['baby'][0]['age'] = 19
            print(dic)
  • 相关阅读:
    MytBatis错题分析
    Spring核心概念
    延迟与缓存
    MyBatis的关联查询
    Mabatis注解
    [leetcode]226. Invert Binary Tree翻转二叉树
    [leetcode]633. Sum of Square Numbers平方数之和
    [leetcode]296. Best Meeting Point最佳见面地点
    [leetcode]412. Fizz Buzz报数
    [leetcode]142. Linked List Cycle II找出循环链表的入口
  • 原文地址:https://www.cnblogs.com/Bug66/p/9401612.html
Copyright © 2011-2022 走看看