返回顶部
首页 > 资讯 > 后端开发 > Python >python中字典和列表的相互嵌套问题详解
  • 821
分享到

python中字典和列表的相互嵌套问题详解

2024-04-02 19:04:59 821人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

目录1.列表中存储字典:1.列表中存储多个字典2.访问列表中字典的值3.遍历访问多个值2.字典中存储列表1.访问字典中的列表元素2.访问字典中的值(字典中的值为列表)3.字典中存储字

首先明确:

1.访问字典中的元素:dict_name[key] / dict_name.get(key)

2.访问列表中的元素:list_name[索引]

1.列表中存储字典:

1.列表中存储多个字典


p={'name':'lin','age':21}
y={'name':'xue','age':20}
c=[p,y]
print(c)

输出结果:

[{'name': 'Jonh', 'age': 18}, {'name': 'Marry', 'age': 19}]

2.访问列表中字典的值


print(f"person's name is {people[0].get('name')}")
print(f"{people[1].get('name')}'s age is {people[1].get('age')}")
#先用person[0/1]访问列表里的元素(字典),再用get方法访问字典里的值

输出结果:

person's name is Jonh
Marry's age is 19

3.遍历访问多个值


for person in people:                                            
#将列表中的字典,依次赋值给person                       
    print(f"{person['name']}'s age is {person['age']}")          
    #取出每个循环里变量person(字典)的键和值

输出结果:

Jonh's age is 18
Marry's age is 19

因为字典中有多个键值对,所以进行多层嵌套。

外层嵌套访问列表中的每个字典,内层嵌套访问每个字典元素的键值对。


for person in people:    
    #在每个遍历的字典里再进行嵌套(内层循环)
    for k,v in person.items():          
        print(f"{k}:{v}")

输出结果:

name:Jonh
age:18
name:Marry
age:19name:Jonh
age:18
name:Marry
age:19

2.字典中存储列表

1.访问字典中的列表元素

先用list[索引]访问列表中的元素,用dict[key]方法访问字典中的值。


favourite_places={
    'lin':['beijing','tianjin'],
    'jing':['chengdu','leshan'],
    'huang':['shenzhen']
}
#访问字典中的值可以用:dict_name[key]
print(favourite_places['lin'])
#访问列表里面的元素用索引:list_name[索引]
print(favourite_places['lin'][0].title())

输出结果:

['beijing', 'tianjin']
Beijing

循环访问字典中列表的元素,也是要用dict_name[key]先访问字典中的值(列表)


for i in favourite_places['lin']:     
    print(i.title())

输出结果:

Beijing
Tianjin

2.访问字典中的值(字典中的值为列表)

注意:直接访问字典中的值,会以列表的形式呈现。


for name,place in favourite_places.items():
    print(f"{name.title()}'s favourite places are {place}")

 输出结果:

Lin's favourite places are ['beijing', 'tianjin']
Jing's favourite places are ['chengdu', 'leshan']
Huang's favourite places are ['shenzhen']

为了避免,要进行循环嵌套


for names,places in favourite_places.items():  #对三个键值对先进行一个大循环
    print(f'{names.title()} favourite places are:') #在大循环里每一组键值对开头先打印这句话
    for place in places:      #之后再对值进行一个小循环,打印出值中的每个元素
        print(place.title())

输出结果:

Lin favourite places are:
Beijing
Tianjin
Jing favourite places are:
Chengdu
Leshan
Huang favourite places are:
Shenzhen

3.字典中存储字典

1.字典中不能全部由字典元素组成,会报错。


p={'name':'lin','age':21}
y={'name':'xue','age':20}
c={p,y}
print(c)

TypeError                                 Traceback (most recent call last)
<ipython-input-46-4127ab9ea962> in <module>
      1 p={'name':'lin','age':21}
      2 y={'name':'xue','age':20}
----> 3 c={p,y}
      4 print(c)

TypeError: unhashable type: 'dict'

2.字典中的值可由字典组成


users={
    'a':{'name':'lin','age':21},
    'b':{'name':'xue','age':20}
}
print('-----------直接访问输出-------------------')
print(users['a']['name'],users['a']['age'])
print(users['b']['name'],users['b']['age'])
print('\n-----------循环嵌套的方法输出-------------------')
for username,userinfo in users.items():
    print('\n'+username+':')
    for name,age in userinfo.items():
        print(name,age)

输出结果:

-----------直接访问输出-------------------
lin 21
xue 20

-----------循环嵌套的方法输出-------------------

a:
name lin
age 21

b:
name xue
age 20

4.容易出的小错误:

1.访问顺序: 可以用dict_name[key] / dict_name.get(key)访问字典的值,也可以用列表索引list_name[索引]访问列表的值。但是要注意哪个在外,哪个在内,先访问外层,再访问内层,直接访问内层的会出错。

2.字典的值为列表,访问的结果是输出整个列表 需要嵌套循环遍历里面的键值对。

3.字典中不能全部由字典元素组成

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注编程网的更多内容!

--结束END--

本文标题: python中字典和列表的相互嵌套问题详解

本文链接: https://lsjlt.com/news/157346.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • python中字典和列表的相互嵌套问题详解
    目录1.列表中存储字典:1.列表中存储多个字典2.访问列表中字典的值3.遍历访问多个值2.字典中存储列表1.访问字典中的列表元素2.访问字典中的值(字典中的值为列表)3.字典中存储字...
    99+
    2024-04-02
  • python 字典和列表嵌套用法详解
    目录列表(List)常用方式字典(dictionary)常用方式组合使用列表嵌套列表列表嵌套字典字典嵌套字典字典嵌套列表嵌套什么时候用参考文献python中字典和列表的使用,在数据处理中应该是最常用的,这两个熟练后基...
    99+
    2022-06-02
    python 字典和列表嵌套 python 列表嵌套
  • 浅谈Python列表嵌套字典转化的问题
    在看视频教程的时候提到了[{'a' : 97}, {'b' : 98}, {'c' : 99}, {'d' : 100}, {'e' : 101}, ...........]形式的列...
    99+
    2024-04-02
  • python字典和列表嵌套用法
    本篇内容主要讲解“python字典和列表嵌套用法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python字典和列表嵌套用法”吧!python中字典和列表的使用,在数据处理中应该是最常用的,这两...
    99+
    2023-06-20
  • python如何提取列表嵌套字典的值
    要提取列表嵌套字典中的值,可以使用循环结构来遍历列表和字典,并使用字典的键来访问对应的值。以下是一个示例代码:```pythonda...
    99+
    2023-09-26
    python
  • Python 避免字典和元组的多重嵌套问题
    目录一、字典、元组的多重嵌套二、嵌套结构重构为类一、字典、元组的多重嵌套 例 1:记录全班学生的成绩。 分析:定义一个 SimpleGradebook类, 学生名是字典self._g...
    99+
    2024-04-02
  • python列表嵌套引发的问题总结
    目录1.嵌套列表2.识别坑点3.区分两个概念4.小例子5.正确代码总结1.嵌套列表 Python中有一种内置的数据类型叫列表(list),它是一种容器,可以用来承载其他的对象(准确的...
    99+
    2024-04-02
  • Python列表和字典踩坑问题怎么解决
    这篇“Python列表和字典踩坑问题怎么解决”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python列表和字典踩坑问题怎么...
    99+
    2023-06-30
  • Python字符串、元组、列表、字典互相转换的方法
    废话不多说了,直接给大家贴代码了,代码写的不好还去各位大侠见谅。 #-*-coding:utf-8-*- #1、字典 dict = {'name': 'Zara', 'age': 7, 'class'...
    99+
    2022-06-04
    字符串 字典 方法
  • python 列表套json字典根据相同的key筛选数据
    前言: 工作中遇到以下小问题,解决方法如下,可能比较暴力,暂时留档,再进行优化。 要求:将列表中json的 ‘id’ 字段值相同的数据,根据 type的值,按...
    99+
    2024-04-02
  • python列表套json字典怎么根据相同的key筛选数据
    本篇内容介绍了“python列表套json字典怎么根据相同的key筛选数据”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!前言:工作中遇到以下...
    99+
    2023-06-30
  • nodejs中解决异步嵌套循环和循环嵌套异步的问题
    众所周知,nodejs异步和循环对于初学者来说是一个很大的问题,今天我们就一起来了解和解决它 当异步和循环同时出现的时候这个问题就会被放大很多倍. 庆幸的是,大神们研究出了async这个第三方模块,解决...
    99+
    2022-06-04
    嵌套 nodejs
  • 浅析Python中元祖、列表和字典的区别
    1、列表(list)   list是处理一组有序项目的数据结构,即你可以在一个列表中存储一个序列的项目。   列表中的项目应该包括在方括号中,这样Python就知道你是指明一个列表。一旦你创建了一个列表,就...
    99+
    2022-06-04
    元祖 字典 区别
  • Python中字典和列表性能的对比分析
    本篇文章为大家展示了Python中字典和列表性能的对比分析,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Python列表和字典前面我们了解了 “大O表示法” 以及对不同的算法的评估,下面来讨论下 P...
    99+
    2023-06-15
  • Python使用列表和字典实现简单的考试系统详解
    目录需求分析实现1登录2考试3将整个系统串起来1 之前我们学习了列表,知道列表可以用来存储一组数据,可以增删改查,可以遍历 2 之前我们学习了字典,知道字典可以用来存储键值对,与列表...
    99+
    2023-01-17
    Python考试系统 Python列表与字典
  • C++中结构体和Json字符串互转的问题详解
    大家有没有在项目中遇到过,将一些预定义的本地结构体转换为Json字符串后,发送到网络中的情形。那我猜想下大家常规的做法:写一个函数,传入结构体的指针,然后在函数中对结构体的每一个成员...
    99+
    2024-04-02
  • 关于MySQL嵌套子查询中无法关联主表字段问题的解决方法
    今天在工作中写项目的时候,遇到了一个让我感到几乎无解的问题,在转换了思路后,想出了一个折中的解决方案,记录如下。 其实,问题的场景,非常简单: 就是需要查询出上图的数据,红框是从 ...
    99+
    2022-12-26
    MySQL 嵌套子查询 MySQL 嵌套子查询无法关联主表字段
  • 关于 MySQL 嵌套子查询中无法关联主表字段问题的解决方法
    今天在工作中写项目的时候,遇到了一个让我感到几乎无解的问题,在转换了思路后,想出了一个折中的解决方案,记录如下。 其实,问题的场景,非常简单: 就是需要查询出上图的数据,红框是从 项目产品表 中查询的2个字段,绿框是从...
    99+
    2022-12-26
    MySQL嵌套子查询 MySQL嵌套子查询无法关联主表字段
  • 简单总结Python中序列与字典的相同和不同之处
    共同点: 1.它们都是python的核心类型,是python语言自身的一部分 核心类型与非核心类型 多数核心类型可通过特定语法来生成其对象,比如"dave"就是创建字符串类型的对象的表达式; 非核心类...
    99+
    2022-06-04
    序列 字典 不同之处
  • 解决python列表list中的截取问题
    List(列表)作为python中使用最频繁的数据类型,如果能够把列表掌握,那么对于Python的掌握是有很大帮助的。 并且列表的元素的值是可以修改的 List的格式:(列表中的元素可以是字符串类型,也可以是数字类型...
    99+
    2022-06-02
    python 列表list 列表截取
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作