关于Python中Tuple和Dict详细解析

这篇文章主要介绍了关于python中元祖(tuple)和字典(dict)的相关资料,文中通过示例代码介绍的非常详细,相信对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。

前言

本文记录了对于Python的数据类型中元祖(Tuple)和字典(Dict)的一些认识,以及部分内置方法的介绍。下面话不多说,来看看详细的介绍吧。

元祖 Tuple

特点:元祖内的数据不可变

立即学习“Python免费学习笔记(深入)”;

一个元素的定义:T = (1,)

>>> T=(1,)>>> type(T)

登录后复制

特殊的元祖:”可变”的元祖

>>> 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)

登录后复制

>>> D={[1,2,3]:100}Traceback (most recent call last): File "", line 1, in  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 "", line 1, in  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详细解析的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2273366.html

(0)
上一篇 2025年2月27日 13:23:05
下一篇 2025年2月25日 17:53:15

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 抓取网易新闻的python代码示例

    这篇文章主要介绍了python正则抓取网易新闻的方法,结合实例形式较为详细的分析了python使用正则进行网易新闻抓取操作的相关实现技巧与注意事项,需要的朋友可以参考下 本文实例讲述了Python正则抓取网易新闻的方法。分享给大家供大家参考…

    2025年2月27日
    200
  • shape计算矩阵的python代码示例

    这篇文章主要介绍了python中shape计算矩阵的方法,涉及python数学运算相关实现技巧,需要的朋友可以参考下 本文实例讲述了Python中shape计算矩阵的方法。分享给大家供大家参考,具体如下: 看到机器学习算法时,注意到了sha…

    编程技术 2025年2月27日
    200
  • python提取那些被“标记”照片的实例详解

    这篇文章主要介绍了用python找出那些被“标记”的照片的相关资料,需要的朋友可以参考下 源码传送门 环境准备 下面的两个第三方模块都可以直接通过pip快速安装,这里使用py36作为运行环境。 python3.6 立即学习“Python免费…

    2025年2月27日
    200
  • 教你用Python如何连接SQLServer2000的实例详解

    这篇文章主要介绍了python连接sqlserver2000的方法,结合实例形式分析了python实现数据库连接过程中所遇到的常见问题与相关注意事项,需要的朋友可以参考下 本文实例讲述了Python连接SQLServer2000的方法。分享…

    编程技术 2025年2月27日
    200
  • Python关于列表切片的详解介绍

    这篇文章主要介绍了python列表切片用法,结合实例形式分析了python列表切片的常见操作方法及相关注意事项,需要的朋友可以参考下 本文实例讲述了Python列表切片用法。分享给大家供大家参考,具体如下: Python中符合序列的有序序列…

    编程技术 2025年2月27日
    200
  • Python关于event对象用法的实例详解

    这篇文章主要介绍了python编程之event对象的用法,结合实例形式分析了event对象在线程通信中的作用与使用方法,需要的朋友可以参考下 本文实例讲述了Python编程中event对象的用法。分享给大家供大家参考,具体如下: Pytho…

    编程技术 2025年2月27日
    200
  • python Condition对象之生产者与消费者操作的代码实例

    这篇文章主要介绍了python条件变量之生产者与消费者操作,结合具体实例形式分析了python条件变量的概念、原理、及线程操作的相关技巧,需要的朋友可以参考下 本文实例讲述了python条件变量之生产者与消费者操作。分享给大家供大家参考,具…

    2025年2月27日
    200
  • Python对sqlite3操作的代码示例

    这篇文章主要介绍了python简单操作sqlite3的方法,结合实例形式分析了python针对sqlite3数据库的读取、创建、增删改查等基本操作技巧,需要的朋友可以参考下 import sqlite3def Test1():  #con …

    编程技术 2025年2月27日
    200
  • 用Python实现IP在整型与字符串间的转换的方法

    这篇文章主要给大家介绍了利用python将ip在整型和字符串之间轻松转换的相关资料,文中还跟大家分享了python下利用正则表达式来匹配校验一个字符串是否为ip地址的方法,需要的朋友可以参考借鉴,下面来一起看看吧。 前言 大家应该都有所体会…

    编程技术 2025年2月27日
    200
  • 分享一段Python正则的简单代码实例

    这篇文章主要介绍了python正则简单实例,具体分析了python针对字符串的简单正则匹配测试中遇到的问题与相关注意事项,需要的朋友可以参考下 本文实例讲述了Python正则简单用法。分享给大家供大家参考,具体如下: 悄悄打入公司内部UED…

    编程技术 2025年2月27日
    200

发表回复

登录后才能评论