简单谈谈Python中的元祖(Tuple)和字典(Dict)
发布时间 - 2026-01-11 00:46:11 点击率:次前言

本文记录了对于Python的数据类型中元祖(Tuple)和字典(Dict)的一些认识,以及部分内置方法的介绍。下面话不多说,来看看详细的介绍吧。
元祖 Tuple
特点:元祖内的数据不可变
一个元素的定义:T = (1,)
>>> T=(1,) >>> type(T) <type 'tuple'>
特殊的元祖:”可变”的元祖
>>> T=(1,2,3,[1,2,3]) >>> T[3][2] = 'vimiix' >>> T (1, 2, 3, [1, 2, 'vimiix'])
看上去元祖发生了变化,但真正变化的是[1,2,3]这个列表内的元素发生了变化,但是这个列表在T这个元祖中的内存地址是没有改变的。
结论:实际是元祖的元素包含了可变的元素,但是元祖中元素的内存地址没有变,所以所谓的元祖不可变是指元素指向的内存地址是不变
字典 Dict
特点:
1、字典是Python中唯一的映射类型
2、字典的键(KEY)必须是不可变的对象—>因为字典在计算机中是通过Hash算法存储的,Hash的特点是由KEY来计算存储的,如果KEY可变,将会导致数据混乱。
>>> D = {1:3,'vimiix':88}
>>> type(D)
<type 'dict'>
>>> D={[1,2,3]:100}
Traceback (most recent call last):
File "<pyshell#15>", line 1, in <module>
D={[1,2,3]:100}
TypeError: unhashable type: 'list' (这里提示list是不能被Hash计算的数据类型,因为list是可变的数据类型)
>>>
由此错误可以看出,字典的键只能使用不可变的对象(元祖是可以的),但是对于字典的值没有此要求
键值对用冒号‘:'分割,每个对之间用逗号‘,'分开,所有这些用花括号‘{}'包含起来
字典中的键值对是没有顺序的,故不可以用索引访问,只可以通过键取得所对应的值
拓展:如果定义的过程中,出现相同的键,最后存储的时候回保留最后的一个键值对)
>>> D= {1:2,1:3}
>>> D
{1: 3}
创建与访问
第一种创建方式:直接通过花括号包含键值对来创建
第二种创建方式:利用内置函数dict()来创建,注意!dict()括号内只能有一个参数,要把所有的键值对括起来
(1)
>>> D =dict((1,2),(3,4),(5,6))
Traceback (most recent call last):
File "<pyshell#20>", line 1, in <module>
D =dict((1,2),(3,4),(5,6))
TypeError: dict expected at most 1 arguments, got 3
>>> D =dict(((1,2),(3,4),(5,6)))
>>> D
{1: 2, 3: 4, 5: 6}
(2)还可以指定关键字参数
>>> D=dict(vimiix = 'VIMIIX')
>>> D
{'vimiix': 'VIMIIX'}
这里的小写‘vimiix'不可以加单引号,加了会报错!
(3)dict的内置方法 .fromkeys 有两个参数
>>> D = dict.fromkeys((1,'vimiix'),('common','value'))
>>> D
{1: ('common', 'value'), 'vimiix': ('common', 'value')}
>>>
实际的生产过程中,都是使用字典生成式来创建,根据现有的数据来生成对应的数据,有数据才有意义。
字典生成式栗子:
>>> L1 = [1,2,3]
>>> L2 = ['a','v','vimiix']
>>> D={a:b for a in L1 for b in L2}
>>> D
{1: 'vimiix', 2: 'vimiix', 3: 'vimiix'}
此处只是一个生成式的栗子,但并不是理想答案,待学习如何生成一一对应的键值对
字典的内置方法:
get() :
获取键所对应的值,如果未找到返回None,找到返回对应的值
pop(key) :
弹出key对应的值,默认最后一个
popitem() :
随机返回并删除字典中的一对键和值(项)。为什么是随机删除呢?因为字典是无序的,没有所谓的“最后一项”或是其它顺序。在工作时如果遇到需要逐一删除项的工作,用popitem()方法效率很高。
update() :
更新或者新增一个键值对(有则改之无则加勉)
>>> D.update({'newitem':'update'})
>>> D
{'newitem': 'update', 1: 'vimiix', 2: 'vimiix', 3: 'vimiix'}
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。
# python
# tuple
# dict
# 字典
# 元祖
# dict字典
# Python中字典(dict)合并的四种方法总结
# Python中如何优雅的合并两个字典(dict)方法示例
# python3中dict(字典)的使用方法示例
# python实现字典(dict)和字符串(string)的相互转换方法
# Python中字典的setdefault()方法教程
# 高效使用Python字典的清单
# 键值
# 过程中
# 的是
# 都是
# 所对应
# 发生了
# 还可以
# 将会
# 是由
# 是指
# 可以用
# 不可以
# 要把
# 很高
# 可以通过
# 才有
# 弹出
# 来看看
# 可以看出
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
如何在Tomcat中配置并部署网站项目?
微信推文制作网站有哪些,怎么做微信推文,急?
如何用PHP工具快速搭建高效网站?
Laravel如何升级到最新版本?(升级指南和步骤)
Laravel控制器是什么_Laravel MVC架构中Controller的作用与实践
海南网站制作公司有哪些,海口网是哪家的?
矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?
如何用景安虚拟主机手机版绑定域名建站?
敲碗10年!Mac系列传将迎来「触控与联网」双革新
香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南
打造顶配客厅影院,这份100寸电视推荐名单请查收
如何在Ubuntu系统下快速搭建WordPress个人网站?
如何在万网ECS上快速搭建专属网站?
如何解决hover在ie6中的兼容性问题
网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?
Laravel全局作用域是什么_Laravel Eloquent Global Scopes应用指南
大连 网站制作,大连天途有线官网?
linux写shell需要注意的问题(必看)
Laravel Facade的原理是什么_深入理解Laravel门面及其工作机制
Laravel怎么进行浏览器测试_Laravel Dusk自动化浏览器测试入门
如何在IIS7中新建站点?详细步骤解析
JavaScript如何实现继承_有哪些常用方法
1688铺货到淘宝怎么操作 1688一键铺货到自己店铺详细步骤
如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?
网站制作软件有哪些,制图软件有哪些?
Windows Hello人脸识别突然无法使用
音乐网站服务器如何优化API响应速度?
C#如何调用原生C++ COM对象详解
车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?
Laravel怎么配置自定义表前缀_Laravel数据库迁移与Eloquent表名映射【步骤】
武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?
Win11怎么更改系统语言为中文_Windows11安装语言包并设为显示语言
HTML透明颜色代码怎么让图片透明_给img元素加透明色的技巧【方法】
Laravel怎么配置.env环境变量_Laravel生产环境敏感数据保护与读取【方法】
如何在阿里云虚拟服务器快速搭建网站?
Laravel如何实现多级无限分类_Laravel递归模型关联与树状数据输出【方法】
猎豹浏览器开发者工具怎么打开 猎豹浏览器F12调试工具使用【前端必备】
如何基于云服务器快速搭建个人网站?
PHP 实现电台节目表的智能时间匹配与今日/明日轮播逻辑
浅谈javascript alert和confirm的美化
详解MySQL数据库的安装与密码配置
高性能网站服务器配置指南:安全稳定与高效建站核心方案
如何彻底卸载建站之星软件?
Python3.6正式版新特性预览
高端建站三要素:定制模板、企业官网与响应式设计优化
Laravel如何实现邮箱地址验证功能_Laravel邮件验证流程与配置
javascript基本数据类型及类型检测常用方法小结
在centOS 7安装mysql 5.7的详细教程
Laravel如何配置.env文件管理环境变量_Laravel环境变量使用与安全管理
Linux系统命令中tree命令详解
上一篇:Linux如何搭建apt本地源
下一篇:WCT币未来价值如何
上一篇:Linux如何搭建apt本地源
下一篇:WCT币未来价值如何

