返回顶部
首页 > 资讯 > 后端开发 > Python >详解Python中的Dict(下篇)
  • 375
分享到

详解Python中的Dict(下篇)

2024-04-02 19:04:59 375人浏览 八月长安

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

摘要

目录dict 的元素定位(键/值定位)和遍历dict的复制(拷贝)总结学委前面展示dict的概念和增删查改!这次我们把其他函数介绍补充了。 dict 的元素定位(键/值定位)和遍历

学委前面展示dict的概念和增删查改!这次我们把其他函数介绍补充了。

dict 的元素定位(键/值定位)和遍历

dict这种对象我们可以通过 keys() 获取所有的键的列表;

dict这种对象我们可以通过 values() 获取所有的值的列表.

这样有列表我们可以遍历整个dict对象。

但是更多使用下面的风格:


mydict = {
    'name': 'leixuewei',
    'date': '20211104'
}
print("遍历字典-----开始")
for k, v in mydict.items():
    print("key[%s] = value[%s]" % (k, v))  # 直接打印
print("遍历字典-----结束")

这几行代码是可以直接复制运行。

下面学委准备了更加全面的代码,展示了获取key/value和遍历操作等:


#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2021/11/3 11:34 下午
# @Author : LeiXueWei
# @CSDN/Juejin/Wechat: 雷学委
# @XueWeiTag: CodingDemo
# @File : dict_demo3.py
# @Project : hello

# 比如学委的信息作为一个字典
info_dict = dict()
info_dict['name'] = 'LEI_XUE_WEI'  # 或者改为 'levin'
info_dict['blogs'] = '93'  # 目前发表了93个博客文字。
info_dict['Gongzhong_hao'] = '【雷学委】'  # 欢迎过来关注支持
info_dict['meta-data'] = dict()
print("包含特定key ?%s" % ('gongzhong_hao' in info_dict))
print('所有键的列表:%s ' % info_dict.keys())
print('所有值的列表:%s ' % info_dict.values())
print('获取key对应的值:', info_dict['name'])
# 获取但是不设置到info_dict内
print('获取key DemoKey 对应的值:', info_dict.get('DemoKey', '匿名用户雷学委'))
# print('获取key对应的值:', info_dict['DemoKey']) #这句会抛出异常:KeyError: 'DemoKey'
# 如果没有某个key,进行设置默认值并返回
print('获取key name对应的值:', info_dict.setdefault('name', '匿名用户雷学委'))
print('获取key DemoKey 对应的值:', info_dict.setdefault('DemoKey', '匿名用户雷学委'))
print('获取key DemoKey 对应的值:', info_dict['DemoKey'])
print("遍历字典-----开始")
for key, value in info_dict.items():
    print("\TKEy[%s] = value[%s]" % (key, value))
print("遍历字典-----结束")
info_dict.clear()  # 清空整个字典对象

效果如下:

这些操作都是比较基础,但是必须随手就来的,所以必须敲熟了。

dict的复制(拷贝)

字典的复制可以通过copy函数来实现,但是它是浅拷贝,也就是拷贝了但不完全拷贝

简单来说就是拷贝key,但是新字典的值还是沿用旧字典的值的引用。

这里也顺带提一提fromkeys函数,这个创建的新字典,只照搬了key列表,新字典内所有值都是空的。

说这么多,我们看看字典的代码示例:


#!/usr/bin/env Python
# -*- coding: utf-8 -*-
# @Time : 2021/11/3 11:34 下午
# @Author : LeiXueWei
# @CSDN/Juejin/Wechat: 雷学委
# @XueWeiTag: CodingDemo
# @File : dict_demo4.py
# @Project : hello
'''dict的拷贝问题'''
# 比如学委的信息作为一个字典
info_dict = dict()
info_dict['name'] = 'LEI_XUE_WEI'  # 或者改为 'levin'
info_dict['blogs'] = '93'  # 目前发表了93个博客文字。
info_dict['gongzhong_hao'] = '【雷学委】'  # 欢迎过来关注支持
info_dict['meta-data'] = dict()
# 选择指定key列表局部拷贝
keys_copied_dict = info_dict.fromkeys(['name', 'blogs', 'zone'])
print("keys_copied_dict :", keys_copied_dict)
# 浅拷贝//Shadow Copy: 全拷贝但不完全拷贝
copied_dict = info_dict.copy()
print("copied_dict :", copied_dict)
shadow_copied_dict = info_dict.copy()
print('shadow_copied_dict:', shadow_copied_dict)
## 雷学委提示:下面一行代码修改了‘meta-data'这个key对应的值,我们并没有直接修改shadow_copied_dict
info_dict['meta-data']['date'] = '04 Nov 2021'
print('info_dict:', info_dict)
print('shadow_copied_dict:', shadow_copied_dict) # 这里输出看到变化也传递给了 shadow_copied_dict

print("*"*16 + "清空info_dict")
info_dict.clear()
print('info_dict:', info_dict)  # clear 清空元素后 打印info_dict
print('shadow_copied_dict:', shadow_copied_dict)  # clear 清空元素后打印 copied_dict

效果如下:

总结

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

--结束END--

本文标题: 详解Python中的Dict(下篇)

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

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

猜你喜欢
  • 详解Python中的Dict(下篇)
    目录dict 的元素定位(键/值定位)和遍历dict的复制(拷贝)总结学委前面展示dict的概念和增删查改!这次我们把其他函数介绍补充了。 dict 的元素定位(键/值定位)和遍历...
    99+
    2024-04-02
  • 详解Python中的Dict
    目录什么是dict?我们下面看看dict的增删查改总结什么是dict? dict全称为dictionary(字典),人如其名,像字典一样可以根据索引定位到特定的文字。 在python...
    99+
    2024-04-02
  • Python 中字典dict详解
    一、字典(dict)概念 字典是另一种可变容器模型,且可存储任意类型对象如字符串、数字、元组等其他容器模型,因为字典是无序的所以不支持索引和切片。 二、字典(dict)的定义 一般格式: 字典的每个键...
    99+
    2023-09-01
    python 开发语言
  • Python中Dict两种实现的原理详解
    目录前记1.无序Dict的实现2.有序Dict的原理3.有序字典的实现前记 在Python中, Dict是一系列由键和值配对组成的元素的集合, 它是一个可变容器模型,可以存储任意类型...
    99+
    2023-03-01
    Python Dict实现原理 Python Dict原理 Python Dict
  • Python中的dict
    # dict # Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。 d = {'Michael': 95, 'Bob': 75,...
    99+
    2023-01-31
    Python dict
  • Python dict函数用法详解
    dict函数用法:1、使用“**kwarg”参数初始化字典;2、使用“mapping”参数初始化字典;3、使用“iterable”参数初始化字典;4、创建空字典。Python中的dict()函数用于创建一个字典对象,并可以进行键值对的初始化...
    99+
    2023-11-10
    python dict
  • python dict.get()和dict['key']的区别详解
    先看代码: In [1]: a = {'name': 'wang'} In [2]: a.get('age') In [3]: a['age'] ---------------------...
    99+
    2022-06-04
    详解 区别 python
  • 怎么解析Python中的Dict
    这篇文章将为大家详细讲解有关怎么解析Python中的Dict,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。什么是dict?dict全称为dictionary(字典),人如其名,像字典一样可以...
    99+
    2023-06-22
  • Python中defaultdict与dict的差异详情
    目录一、问题描述二、解决方案三、结语本文转自微信公众号:"算法与编程之美", 一、问题描述 在collections模块中的defauldict使用时与dict有何不同,为何我们用d...
    99+
    2024-04-02
  • Python映射类型之dict详解
    目录映射类型—dictlist(d)len(d)d[key]d[key]=valuedeld[key]keyinditer(d)clear()copy()classmet...
    99+
    2024-04-02
  • python--字典(dict)和集合(set)详解
    目录一、集合1.集合定义2.创建集合3.去重4.集合增删5.关系运算6.排序7.frozenset8.练习9.特性二、字典1.字典定义2.字典打印3.字典元素删除4.setdefau...
    99+
    2024-04-02
  • Python基础之dict和set的使用详解
    目录dictset再议不可变对象小结dict Python内置了字典:dict的支持,dict全称dictionary,在其他语言种也称为map,使用键-值(key-value)存储...
    99+
    2024-04-02
  • Python中的Set与dict
    目录一、Set集合类型二、set和dict的数据类型限制一、Set 集合类型 Set 集合类型 (交差并补) 特点 :无序 , 自动去重 集合用{}表示,元素间用逗号分隔建立集合类型...
    99+
    2024-04-02
  • Python数据类型详解(四)字典:dict
    一.基本数据类型   整数:int   字符串:str(注:t等于一个tab键)   布尔值: bool   列表:list   列表用[]   元祖:tuple   元祖用()   字典:dict 注...
    99+
    2022-06-04
    字典 详解 数据类型
  • MySQL子查询的使用详解下篇
    目录相关子查询EXISTS与NOT EXISTS关键字相关子查询 相关子查询执行流程 如果子查询的执行依赖于外部查询,通常情况下都是因为子查询中的表用到了外部的表,并进行了条件关联,因此每执行一次外部查询,子查询都要重新...
    99+
    2024-04-02
  • Python中set 和dict 的总结
    Setset的定义: set是可变的,无序的,不重复的元素组成的可迭代的集合。 set () 定义一个空集合。set(iterable)  定义一个set例如:set1=set(range(100)) set 中的元素set中的元素必须是可...
    99+
    2023-01-31
    Python set dict
  • jQuery中DOM属性使用实例详解下篇
    目录DOM属性(下).html().val().attr().removeAttr()DOM属性(下) .html() 获取集合中第一个匹配元素的HTML内容 在一个 HTML 文档...
    99+
    2024-04-02
  • Python列表list详解篇(七)
    介绍:列表是最常用的python数据类型,它可以作为一个方括号内的逗号用分隔值出现。列表的数据项不需要具有相同的类型。创建一个列表,只要逗号分隔的不同数据项用方括号括起来即可。name=[‘’beijing,’shenzhen’,’nanj...
    99+
    2023-01-31
    详解 列表 Python
  • 怎么理解Python里的dict和set
    本篇内容主要讲解“怎么理解Python里的dict和set”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么理解Python里的dict和set”吧!Python里的dict和set的效率有多高...
    99+
    2023-06-25
  • Python中切片的详细操作篇
    目录Python中的切片知识.一、切片的索引方式二、索引的一般方式三、 切片操作的 详细切法1.切割单个值2.切割完整对象3.当start和end全部为正数时.4.当start和en...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作