纯干货-个人整理——字典和列表的不同点和相同点

2023-10-14 23:59

本文主要是介绍纯干货-个人整理——字典和列表的不同点和相同点,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1. 字典和列表的不同点

1、列表中的元素都有自己明确的“位置”,即使看似相同的元素,只要在列表中所处的位置不同,它们就是两个不同的元素。比如:

# 列表
1 student1 = ['小明','小红','小刚']
2 student2 = ['小刚','小明','小红']
3 print(student1 == student2)  # False# 字典
4 scores1 = {'小明':95,'小红':90,'小刚':100}
5 scores2 = {'小刚':100,'小明':95,'小红':90}
6 print(scores1 == scores2)    #True

2、字典相对列表显得随和,调动顺序也不影响。因为列表中的数据是有序排列的,字典中的数据是随机排列的。

  • 总结:
    列表有序,要用偏移量定位,
    字典无序,通过唯一的键来取值

2.字典和列表的相同点

  • 1、在列表和字典中,如果要修改元素,都可用赋值语句来完成
1 list1 = ['小明','小红','小刚','小美']
2 list1[1] = '小蓝'
3 print(list1)
4 # ['小明','小红','小刚','小美','小蓝']5 dict1 = {'小明':'男'}
6 dict1['小明'] = '女'
7 print(dict1)
8 # {'小明':'女'}
  • 2、支持任意嵌套:列表可嵌套其他列表和字典,字典也可嵌套其他字典和列表
  • 一、列表嵌套列表
    举例:一个以四人为单位的学习小组,列表的形式可以写成:
1 students = [['小明','小红','小刚','小美'],['小强','小兰','小伟','小芳']]

students 这个列表是由两个子列表组成的,如何取出 ‘小芳’ ?

  • 提取这种多级嵌套的列表/字典时,要一层一层的取出,类似于剥洋葱
  • 在这里插入图片描述
  • 所以代码可以这样写:
1 students = [['小明','小红','小刚','小美'],['小强','小兰','小伟','小芳']]
2 print(students[1][3])
  • 二、字典嵌套字典
  • 和列表嵌套类似,需要一层一层的取出,
  • 举例,要取出 ‘小芳’ 的成绩
1 scores = {
2            '第一组':{'小明':95,'小红':90,'小刚':100,'小美':85},
3            '第二组':{'小强':99,'小兰':89,'小伟':93,'小芳':88}
4            }
5 print(scores['第二组']['小芳'])
  • 三、列表和字典相互嵌套
1 # 最外层是大括号,所以是字典嵌套列表,先找到字典的键对应的列表,再判断列表中要取出的元素的偏移量
2 students = {
3               '第一组':['小明','小红','小刚','小美'],
4               '第二组':['小强','小兰','小伟','小芳']
5              }
6 print(['第一组'][3])
7 # 取出'第一组'对应列表偏移量为3的元素,即'小美'
8
9 # 最外层是中括号,所以是列表嵌套字典,先判断字典是列表的第几个元素,再找出要取出的值相对应的键
10 scores = [
11             {'小明':95,'小红':90,'小刚':100,'小美':85},
12             {'小强':99,'小兰':89,'小伟':93,'小芳':88}
13           ] 
14 print([1]['小强'])
15 #先定位到列表偏移量为1的元素,即第二个字典,再取出字典里键为'小强'对应的值,即99。

这篇关于纯干货-个人整理——字典和列表的不同点和相同点的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/214025

相关文章

python中列表应用和扩展性实用详解

《python中列表应用和扩展性实用详解》文章介绍了Python列表的核心特性:有序数据集合,用[]定义,元素类型可不同,支持迭代、循环、切片,可执行增删改查、排序、推导式及嵌套操作,是常用的数据处理... 目录1、列表定义2、格式3、列表是可迭代对象4、列表的常见操作总结1、列表定义是处理一组有序项目的

C++11范围for初始化列表auto decltype详解

《C++11范围for初始化列表autodecltype详解》C++11引入auto类型推导、decltype类型推断、统一列表初始化、范围for循环及智能指针,提升代码简洁性、类型安全与资源管理效... 目录C++11新特性1. 自动类型推导auto1.1 基本语法2. decltype3. 列表初始化3

Python 字典 (Dictionary)使用详解

《Python字典(Dictionary)使用详解》字典是python中最重要,最常用的数据结构之一,它提供了高效的键值对存储和查找能力,:本文主要介绍Python字典(Dictionary)... 目录字典1.基本特性2.创建字典3.访问元素4.修改字典5.删除元素6.字典遍历7.字典的高级特性默认字典

Python自动化批量重命名与整理文件系统

《Python自动化批量重命名与整理文件系统》这篇文章主要为大家详细介绍了如何使用Python实现一个强大的文件批量重命名与整理工具,帮助开发者自动化这一繁琐过程,有需要的小伙伴可以了解下... 目录简介环境准备项目功能概述代码详细解析1. 导入必要的库2. 配置参数设置3. 创建日志系统4. 安全文件名处

MySQL 迁移至 Doris 最佳实践方案(最新整理)

《MySQL迁移至Doris最佳实践方案(最新整理)》本文将深入剖析三种经过实践验证的MySQL迁移至Doris的最佳方案,涵盖全量迁移、增量同步、混合迁移以及基于CDC(ChangeData... 目录一、China编程JDBC Catalog 联邦查询方案(适合跨库实时查询)1. 方案概述2. 环境要求3.

SpringSecurity整合redission序列化问题小结(最新整理)

《SpringSecurity整合redission序列化问题小结(最新整理)》文章详解SpringSecurity整合Redisson时的序列化问题,指出需排除官方Jackson依赖,通过自定义反序... 目录1. 前言2. Redission配置2.1 RedissonProperties2.2 Red

MySQL 多列 IN 查询之语法、性能与实战技巧(最新整理)

《MySQL多列IN查询之语法、性能与实战技巧(最新整理)》本文详解MySQL多列IN查询,对比传统OR写法,强调其简洁高效,适合批量匹配复合键,通过联合索引、分批次优化提升性能,兼容多种数据库... 目录一、基础语法:多列 IN 的两种写法1. 直接值列表2. 子查询二、对比传统 OR 的写法三、性能分析

Javaee多线程之进程和线程之间的区别和联系(最新整理)

《Javaee多线程之进程和线程之间的区别和联系(最新整理)》进程是资源分配单位,线程是调度执行单位,共享资源更高效,创建线程五种方式:继承Thread、Runnable接口、匿名类、lambda,r... 目录进程和线程进程线程进程和线程的区别创建线程的五种写法继承Thread,重写run实现Runnab

Python中将嵌套列表扁平化的多种实现方法

《Python中将嵌套列表扁平化的多种实现方法》在Python编程中,我们常常会遇到需要将嵌套列表(即列表中包含列表)转换为一个一维的扁平列表的需求,本文将给大家介绍了多种实现这一目标的方法,需要的朋... 目录python中将嵌套列表扁平化的方法技术背景实现步骤1. 使用嵌套列表推导式2. 使用itert

Spring IoC 容器的使用详解(最新整理)

《SpringIoC容器的使用详解(最新整理)》文章介绍了Spring框架中的应用分层思想与IoC容器原理,通过分层解耦业务逻辑、数据访问等模块,IoC容器利用@Component注解管理Bean... 目录1. 应用分层2. IoC 的介绍3. IoC 容器的使用3.1. bean 的存储3.2. 方法注