精华内容
下载资源
问答
  • 主要介绍了python字典嵌套字典的情况下找到某个key的value详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • 今天小编就为大家分享一篇python实现字典嵌套列表取值,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 大家下载之后可以直接使用也可以自己扩展,随意嵌套数据
  • 如下所示: >>> dict={} ...输出字典: >>> dict {'list': [[1, 2, 3, 4], [5, 6, 7], [7, 8, 9, 0, 10]]} >>> dict['list'] [[1, 2, 3, 4], [5, 6, 7], [7, 8, 9, 0, 10]] 相关操作: >>> len(dict['lis
  • 字典嵌套字典在多重关系,多行记录下可以考虑字典嵌套字典的方式。如一个餐厅有很多桌子,每一个桌子又对应着若干个消费者就餐记录。显然一个餐厅就记录着两层关系,首先一个桌子对应的若干消费记录可以看成一行数据...

    字典里的键可以是数字,字符串,也可以是元组:其对应的值可以是Python支持的任何类型对象,如除了数字,字符串,也可以是列表,元组,或者字典。因此产生了字典嵌套使用问题。

    字典嵌套字典

    在多重关系,多行记录下可以考虑字典嵌套字典的方式。

    如一个餐厅有很多桌子,每一个桌子又对应着若干个消费者就餐记录。显然一个餐厅就记录着两层关系,首先一个桌子对应的若干消费记录可以看成一行数据,N行就有n个消费记录。

    1号桌:龙:消费100,张:消费200,李:消费300

    2号桌:王:消费300,tom:消费400,mike:消费500

    3号桌:郭:消费400,何:消费600

    计算消费总额

    代码如下:

    no1 = {"long":100,"zhang":200,"li":300}

    no2 = {"wang":300,"tom":400,"mike":500}

    no3 = {"guo":400,"he":600}

    rest = {"1号":no1,"2号":no2,"3号":no3}

    total = 0

    for get_value in rest.values():

    total = total + sum(get_value.values())

    print(total)

    每一桌消费情况记录在no里,一个餐厅rest就有n个no。这样更方便的体现了数据之间的关系,更体现了字典记录数据的灵活性。

    列表嵌套字典

    就上述事例,若老板不关系就餐者是谁,只关心每一桌的就餐情况,那么我们可以采用列表嵌套字典的方式。代码如下:

    L1 = [30.5,20,40.5]

    L2 = [20,25.1,25]

    L3 = [10,13,16.2]

    rest2 = {"1号桌消费":L1,"2号桌消费":L2,"3号桌消费":L3}

    for get_k,get_v in rest2.items():

    print("%s:%.2f"%(get_k,sum(get_v)))

    每一桌消费情况记录在列表L中,一个餐厅rest2就有n桌

    字典嵌入列表

    若餐厅经理想要了解每桌就餐情况,就可以采用字典嵌入列表的方式。代码如下:

    no1 = {"long":100,"zhang":200,"li":300}

    no2 = {"wang":300,"tom":400,"mike":500}

    no3 = {"guo":400,"he":600}

    rest3=[no1,no2,no3]

    i=0

    sum1=0

    r_L=len(rest3)

    get_d={}

    while i < r_L:

    get_d=rest[i]

    sum1=sum1+sum(get_d.values())

    print(get_d)

    print("第%d桌消费:%d"%(i+1,sum1))

    展开全文
  • 浅析python 字典嵌套

    2020-12-16 23:58:50
    你可以在列表中嵌套字典、在字典嵌套列表甚至在字典嵌套字典字典列表 例如:字典alien_0包含一个外星人的信息,但无法存储第二个外星人的信息。怎么办呢? 我们可以创建三个外星人字典,那么问题来了,我们...
  • l=[] for i in alist: kk = {} names.append(i.string) a_url.append(i.get('href')) kk['章节名']=i.string ...列表嵌套元组(由字典转化而来) for i in alist: names.append(i.string) a_url.append(i...

    列表嵌套字典

    l=[]
    for i in alist:
        kk = {}
    
        names.append(i.string)
        a_url.append(i.get('href'))
        kk['章节名']=i.string
        kk['章节链接']=servers+i.get('href')
        l.append(kk)

     

     列表嵌套元组(由字典转化而来) 

    for i in alist:
        names.append(i.string)
        a_url.append(i.get('href'))
        kk[i.string]=servers+i.get('href')
    
    print(list(kk.items()))
    yua=list(kk.items())
    z=list(zip(kk.keys(),kk.values()))
    print(list(zip(kk.keys(),kk.values())))
    
    print(z[0][0])
    print(yua[0][0])

     

    字典嵌套列表

    xs_dict = {
            'id': [],
            'name': [],
            'url': [],
            'singer': []
        }
    for i in range(len(name)):
          xs_dict["id"].append(i)
          xs_dict["name"].append(name[i].string)
    
          xs_dict["url"].append(servers + name[i].a.get('href'))
          xs_dict["singer"].append(div[i].text)

     

    {'id': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29], 'name': ['封神开始:化身荒天帝,杀进灵山', '全民机战,火力不足恐惧症治好了', '海洋传奇:我有一颗自然之心', '我有神级修炼石', '长得太凶,被校花请去鬼宅镇邪', '塔防求生:超神附魔师', '封神:带着杨戬入阐教,一键满级', '玄幻:开局创建镇魔司', '满级灵压的我,成了鬼楼楼长!', '灵气复苏:亿万细胞同时修炼', '别人驭鬼我育鬼', '直播:这个侦探逆天了', '邪恶天敌系统,开局擒获大毒枭', '绑定国运:开局扮演人间武圣!', '超级教师:学生努力,我变强!', '惊悚游戏:百岁的我无敌于世', '国运武侠:扮演剑圣,队友邀月', '深海求生:开局一艘潜水艇', '全民驭鬼:开局厉鬼复苏', '重生:与青梅竹马一起奋斗的温馨日常', '末世:我的世界变异了', '全民塔防:我有无限合成栏', '一首大鱼,惊艳了世界!', '终极战神,金时空签到十八年', '大明:我在锦衣卫上班', '全球魔王,开局自带万界怪物模板', '武林金榜现世,我被邀月偷听心声', '特工:开局收了顾耀东为徒!', '大唐:我的穿越生活', '全民机战:火力不足恐惧症治好了'], 'url': ['https://b.faloo.com/992683.html', 'https://b.faloo.com/1004814.html', 'https://b.faloo.com/1005095.html', 'https://b.faloo.com/623185.html', 'https://b.faloo.com/1006393.html', 'https://b.faloo.com/1006390.html', 'https://b.faloo.com/997514.html', 'https://b.faloo.com/1005909.html', 'https://b.faloo.com/1007308.html', 'https://b.faloo.com/681624.html', 'https://b.faloo.com/1004071.html', 'https://b.faloo.com/1007010.html', 'https://b.faloo.com/1009516.html', 'https://b.faloo.com/1001856.html', 'https://b.faloo.com/1006127.html', 'https://b.faloo.com/1005335.html', 'https://b.faloo.com/1004661.html', 'https://b.faloo.com/1008608.html', 'https://b.faloo.com/1004429.html', 'https://b.faloo.com/843448.html', 'https://b.faloo.com/628786.html', 'https://b.faloo.com/983823.html', 'https://b.faloo.com/990011.html', 'https://b.faloo.com/860339.html', 'https://b.faloo.com/792704.html', 'https://b.faloo.com/984141.html', 'https://b.faloo.com/975276.html', 'https://b.faloo.com/858342.html', 'https://b.faloo.com/578410.html', 'https://b.faloo.com/996995.html'], 'singer': ['飞飞公主', '小飞飞呀', '丁飞飞', '肥龙飞飞飞', '秦唐飞飞', '鱼飞飞', '飞飞公主', '鱼飞飞', '鱼飞飞', '飞飞费', '鱼飞飞', '公子飞飞', '公子飞飞', '鱼飞飞', '鱼飞飞', '鱼飞飞', '秦唐飞飞', '鱼飞飞', '鱼飞飞', '叶飞飞', '我要飞飞嚓嚓', '鱼飞飞', '娱乐飞飞', '飞飞啊1', '飞飞飞猫', '小飞飞呀', '秦唐飞飞', '龙飞飞', '七月飞飞', '小飞飞呀']}
     

    展开全文
  • VBA新手学习笔记之二级下拉菜单(字典嵌套法) 精品文档 精品文档 收集于网络如有侵权请联系管理员删除 收集于网络如有侵权请联系管理员删除 精品文档 收集于网络如有侵权请联系管理员删除 VBA新手学习笔记之二级下拉...
  • Python字典嵌套

    千次阅读 多人点赞 2019-08-10 17:02:59
    文 | 猿天罡 前言 前两篇文章,我们学习了Python字典的基本用法和遍历字典...我们可以在字典中存储列表,在列表中存储字典,在字典中存储字典等等。 Python中几乎所有的数据类型,都可以存进字典里。 学习不是一日...

    文 | 猿天罡

    前言

    前两篇文章,我们学习了Python字典的基本用法遍历字典的三种方式

    为了让小伙伴们不耗费多余的注意力,我们举的例子都尽可能的简单,不信你回去看看,字典键对应的值都是基本数据类型(字符串、数字等)。

    其实,字典里键对应的值可以很复杂。

    我们可以在字典中存储列表,在列表中存储字典,在字典中存储字典等等。

    Python中几乎所有的数据类型,都可以存进字典里。

    学习不是一日之功,需摆正心态,持之以恒,希望小伙伴们对学习一门语言抱有基本的耐心。

    下面我们来开心地学习吧。

    1.在字典里存储列表

    1.1字典里不全是列表

    笔者在大学的时候,需要学习四门基础专业课。

     course = ['数据结构', '计算机网络', '计算机组成原理', '操作系统']
    

    如果我们声明一个学生字典,则专业课列表应该在其字典之中。

    student = {
        'name': 'kelvin',
        'age': 18,
        'course': ['数据结构', '计算机网络', '计算机组成原理', '操作系统']
    }
    

    注:也可以用双引号包裹字符串(别的文章可不会提醒的这么详细)

    这种情况下,要想访问课程列表,和我们讲的字典访问方法一毛一样(基础挺重要的):student['course']

    下面我们来打印这个学生的信息。

    # 概述学生基本信息
    print('姓名:', student['name'], '年龄:', student['age'])
    print('课程信息如下:')
    for course in student['course']:
        print("\t" + course)
    

    运行结果如下:

    图1-1

    说明(看得懂代码可以跳过):

    首先,我们创建了一个学生字典,字典里存储了学生的姓名、年龄和课程信息。姓名和年龄都是基本数据类型(一个字符串另一个数字),课程是列表结构。

    然后,我们通过字典访问方法字典['键'],一下子就把姓名和年龄拿到并输出了。

    最后,我们通过student['course']拿到了一个课程列表,但直接输出格式太不好看了,所以我们对其进行了遍历,依次输出学生要上的课程。

    1.2字典里全是列表

    还有一种字典里存列表的情况:键对应的值全是列表。

    遇到这种情况心里可以偷着乐,因为循环遍历的时候格式会很好看(后文会有解释)。

    学校老师需要每个学生的课程信息(因为有的人选课会不一样)。

    这个时候把学生姓名做键(实际情况下是用学号,姓名会重复),以学生课程列表为值可以组成字典。

    courses = {
        'kelvin': ['数据结构', '计算机网络', '计算机组成原理', '操作系统'],
        'vicky': ['xx经济学', '西方经济学', '统计学', '发展经济学']
    }
    

    我们把多个学生的课程表打印输出。

    for name, course in courses.items():
        print(name + '同学所学课程:')
        for c in course:
            print("\t" + c)
    

    因为每个键对应的都是列表,所以需要再使用一个for循环来遍历学生课程列表。

    解释(看得懂代码可以跳过):

    首先,使用外层for循环,依次将courses字典里的键和值分别赋值给变量namecourse

    然后,name对应的值是个简单的字符串,所以我们直接打印输出了。

    最后,遍历course列表,格式化地打印学生所学课程。

    再注:字典里不全是字典也可以用双层循环,只不过我们需要加个if判断,如果值是列表才能进入到内层循环。

    2.在字典里存储字典

    字典里存储字典就很像俄罗斯套娃。

    循环(打开)一层字典后,面对的还是字典,真是让人惊喜又惊喜。

    和在字典中存储列表一样,在字典里存储字典也有两种情况。

    聪明的小伙伴已经猜到了:在字典里不全是字典和在字典里全是字典。

    看着让人有点头晕(建议看下前面的小标题清醒一下)。

    因为在字典里不全是字典比较简单(不理解的欢迎私信),所以我们重点讲讲在字典里全是字典的情况。

    学校需要学生信息表(不是学生所上课程信息)。

    如果要用字典来存储的话,可以这样。

    students = {
        'kelvin': {
            'age': 18,
            'course': ['数据结构', '计算机网络', '计算机组成原理', '操作系统']
        },
        'vicky': {
            'age': 19,
            'course': ['xx经济学', '西方经济学', '统计学', '发展经济学']
        }
    }
    

    可以看到,外层students字典里面存储的依然是以学生姓名为键,学生其他信息为值的字典。

    更过分地是学生其他信息里竟然还有个学生列表。

    看我们怎么处理这些数据。

    for name, student in students.items():
        print("姓名:", name, ",年龄:", student['age'], ",所学课程:")
    
        for course in student['course']:
            print("\t" + course)
    

    我们先来看看效果图:

    在这里插入图片描述

    常规唠叨(看懂代码的可以跳过):

    首先,我们定义了一个学生字典,里面有两个学生的信息。

    学生信息是以姓名为键,其他信息为值。

    然后,我们遍历最外层字典,然后依次将students的键和值赋值给变量namestudent

    接着,因为学生姓名赋值给了变量name,所以我们直接打印变量name

    学生的年龄信息存储在student字典(内层字典)里的,可以通过基本的字典访问方法student['age']拿到并打印出来。

    最后,遍历student['course'],即课程列表,格式化输出所学课程。

    3.在列表里存储字典

    在列表里也可以存储字典哦。

    列表和字典的主要区别是前者没有键而已。

    这并不影响其存储能力,事实上,列表也几乎可以存储所有的数据类型。

    除了用字典存储多个学生信息外,我们还可以用列表来存储。

    student1 = {
        'name': 'kelvin',
        'age': 18,
        'course': ['数据结构', '计算机网络', '计算机组成原理', '操作系统']
    }
    
    student2 = {
        'name': 'vicky',
        'age': 19,
        'course': ['xx经济学', '西方经济学', '统计学', '发展经济学']
    }
    students = [student1, student2]
    

    我们先是定义了两个学生字典,然后把它们存储到了students列表中了。

    怎么遍历输出字典列表的信息呢?

    for student in students:
        print("姓名:", student['name'], ",年龄:", student['age'], ",所学课程:")
    
        for course in student['course']:
            print("\t" + course)
    

    直接上运行结果:

    在这里插入图片描述

    没人听的碎碎念(看得懂代码可以跳过):

    首先,外层for循环依次取出存储其中的字典(student1和student2)并把它们依次赋值给变量student

    然后,此时变量student就相当于是某一个学生字典,所以我们可以通过student['name']student['age']访问到学生的姓名和年龄。

    最后,因为student['course']存储的是课程列表,所以需要循环打印列表。

    结尾语

    Python语法简单且灵活,本文讲述的字典和列表嵌套可以当作抛砖引玉,希望能起到举一反三的效果。

    如果你对文中讲述的内容还有疑惑,欢迎和我交流,我们一起在讨论中进步。

    猿天罡

    扫码关注「猿天罡」
    展开全文
  • 2、判断遍历后的 value 数据类型是否为:字典 dict 3、if true,则再次循环遍历取出 key 和 value 的值 代码实现: # -*--*- coding: utf-8 -*--*- # @Time : 2021/10/13 21:23 # @Author : PythonKimo # @File :...
     思路整理:  
    

    1. 循环遍历取出外层的 key 和 value 的值

    2、判断遍历后的 value 数据类型是否为:字典 dict

    3、if true,则再次循环遍历取出 key 和 value 的值


    代码实现:
    # -*--*- coding: utf-8 -*--*-
    # @Time    : 2021/10/13 21:23
    # @Author  : PythonKimo
    # @File    : demo_test.py
    # -*-*-*-*-*-*-*-*-*-*-*-*-*-
    
    '''
    【问题: 字典嵌套字典,如何取出层级嵌套的 key 和 value 】
    '''
    
    dict_1 = {
        "id": 1,
        "job": "软件测试",
        "userInfo": {
            "money": 100,
            "name":  "张三",
            "sex":  "男",
        }
    }
    
    # 1.使用items()方法,取出字典中所有的键-值对,返回一个键值对列表
    for key_1,value_1 in dict_1.items():
    
        # 2.打印每次循环遍历后返回的键值对数据
        print(f"取出的key为:{key_1} ,取出的value为:{value_1}")
        
        # 3.使用 isinstance() 方法判断取出的 value 数据类型是否为:dict
        if isinstance(value_1,dict):
        
            print("\n----------我是分隔符----------\n")
            
            # 4.对于获取到 dict 类型的 value 进行二次遍历,
            for key_2,value_2 in value_1.items():
            
                # 5.打印每次循环遍历后返回的键值对数据
                print(f"嵌套字典取出的key为:{key_2} ,取出的value为:{value_2}")
    
    >>> 【控制台输出结果:】
    	
    	C:\Python\Python36\python.exe "D:/demo_test.py"
    	
    		取出的key为:id ,取出的value为:1
    		取出的key为:job ,取出的value为:软件测试
    		取出的key为:userInfo ,取出的value为:{'money': 100, 'name': '张三', 'sex': '男'}
    		
    		----------我是分隔符----------
    		
    		嵌套字典取出的key为:money ,取出的value为:100
    		嵌套字典取出的key为:name ,取出的value为:张三
    		嵌套字典取出的key为:sex ,取出的value为:男
    	
    	Process finished with exit code 0
    
    
    展开全文
  • 需求是需要存储一个map结构的数据,map里面存储list类型的数据: from collection import defaultdict obj = defaultdict(lambda :defaultdict(list)) 如果想要遍历的话, data = {i: {j: k for j, k in v....
  • Python 字典嵌套

    2019-09-24 17:50:04
    字典嵌套 含义:将一系列字典存储在列表中,或将列表作为值存储在字典中 在列表中嵌套字典、在字典中嵌套列表、在字典中嵌套字典 字典列表 创建多个字典,将字典存放在列表中 使用range()自动生成多个字典 使用...
  • 字典嵌套列表嵌套字典中取出‘value’的值,并且进行赋值 ''' dict = {'vakter':'funnit','rementre':"[{'name':'kelly','value':'','rownum':'NM'},{}]"} #取出字符串得到最里层的列表 list_data = eval(dict['...
  • 在python中字典是键值数据项的组合,以{key:value}形式...本文将分为基础使用字典、遍历字典和字典嵌套三部分来描述。 一、使用字典 本部分讲字典的增-删-改-查 1.增 2.删 3.改 4.查 二、遍历字典 三、字典嵌套 ...
  • 现在有某个字典需要查询某个键的值,但是字典嵌套字典,又嵌套列表。 所以写了个查询函数,该函数使用递归求值,多个相同的值也能返回,返回类型为列表 def find_disc(will_find_dist,find_keys):#will_find_dist要...
  • 使用环境:需要先安装PyCharm(请自己百度下载安装),以及然后官网上下载Python 2.7版本,以及Python 3.7版本后,安装在自己的电脑上。...目的:帮助理解字典对象嵌套和查询在Python中的具体使用。
  • python字典嵌套字典实例

    千次阅读 2018-06-29 16:35:05
     if id not in d: #如果id不在字典d里面,然后初始化(recp这个初始化为列表),下一次循环的时候,同一个id就不会执行if语句块(即每个ID第一次都会初始化字典的值)  d[id] = {  'size': 0,  'recp':...
  • 字典嵌套 在机器学习实战决策树部分,生成决策树时用到了字典嵌套。 >>>s1={'no surface':{}} >>>s1['no surfacce'][0]='no' >>>s1 {'no surface':{0:'no'}} >>>s2={'flipper':{}} >>>s2['flipper'][0]='no...
  • 今天朋友提了个好问题:如果一个字典嵌套了列表,列表里又嵌套字典字典和列表的数量不定,该如何查询一个key的值呢? 举例 d = {"a":[{"b":[1,2,3],"c":"cccc"},[1,2,3]]} 方法1 按字符串搜索,直接找key,...
  • pyspark 字典嵌套

    2020-04-26 15:36:40
    创建嵌套字典结构: ('3', {'test': {'aaa': [[44, 5]]}}), ('2', {'test': {'bbb': [[2, 4], [3, 4]]}}) # 存储这样的数据,schema怎么写 def get_schema(): return StructType([ StructField('imei', ...
  • python字典嵌套赋值异常问题简介问题描述问题解决 简介 问题很小,但是调了很长时间bug。 主要是字典嵌套字典的时候,第二层字典必须每次循环都要重新定义一下,否则会出现每一次循环会使用当前的字典值覆盖之前所有...
  • Dictionary<string, Dictionary<string, string>> a = new Dictionary<string, Dictionary<...//给字典添加一个键值对,大键和值 a["大键"].Add("小键","小键值");//a[]就是大.
  • python字典嵌套列表取值

    千次阅读 2019-09-28 13:52:37
    dict下的result列表的第一个值(字典)的top内容 也可以使用临时变量: dict1=dict[ ' result ' ] print (dict1[0][ ' probability ' ])   转载于:...
  • 主要介绍了python使用参数对嵌套字典进行取值,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  •  获取遍历字典的值,强制转换  on4=list(on3.values())  i=i+1  添加到空的列表中  result.append(on4) print(result)  [['1539328860000',  '0.1021',  '0.1021',  '0.1021',  '0....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 72,746
精华内容 29,098
关键字:

字典嵌套