我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Python 中字典dict详解

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Python 中字典dict详解

一、字典(dict)概念

字典是另一种可变容器模型,且可存储任意类型对象如字符串、数字、元组等其他容器模型,因为字典是无序的所以不支持索引和切片。

二、字典(dict)的定义

一般格式:

字典的每个键值 key=>value 对用冒号 : 分割,每个对之间用逗号(,)分割,整个字典包括在花括号 {} 中 ,格式如下所示

d = {key1 : value1, key2 : value2, key3 : value3 }

例子

dict_data = {'name': '王华', 'age': 23, 'sex': '男', '班级': '计算机一班'}

结果如下:
image.png
:::info
注意:dict 作为Python的关键字和内置函数,变量名不建议命名为 dict 。
:::

空字典:

格式:字典名={ } 或者 字典名= dict{ }

# 使用大括号{}来创建空字典dict_data = {}# 打印字典print(dict_data)# 查看字典类型print(type(dict_data))

以上代码输出结果为:

{}<class 'dict'>

注意:

在使用 dict() 创建字典时,在小括号 () 内要以 key=value 的形式编写。

  • key不可以重复,否则只会保留第一个;
  • value值可以重复;
  • key可以是任意的数据类型,但不能出现可变的数据类型,保证key唯一;
  • key一般形式为字符串。

三、字典的特性

dict()是Python内置的一个数据类型,也被称为字典或映射,它是一个无序的键值对集合。每个键(key)必须是唯一的,而值(value)可以是任意的Python对象。下面是dict()的一些主要特性:

1.键值对集合

一个dict()是由一系列键值对组成的无序集合,其中每个键对应一个唯一的值。下面是一个简单的例子:

# 创建一个字典my_dict = {'apple': 2, 'banana': 3, 'orange': 4}print(my_dict)     # 打印结果如下{'apple': 2, 'banana': 3, 'orange': 4}

2.可变性

dict()是可变的对象,这意味着可以添加、删除或修改它的键值对。下面是一个例子:

# 修改字典中的值my_dict['apple'] = 5# 打印结果如下{'apple': 5, 'banana': 3, 'orange': 4}

3.键的唯一性

dict()中的每个键必须是唯一的。如果试图将一个已经存在的键再次添加到dict()中,将会覆盖该键对应的原值。下面是一个例子:

# 添加一个新的键值对my_dict['pear'] = 1# 尝试将一个已经存在的键再次添加到字典中my_dict['apple'] = 6# 打印结果如下{'apple': 6, 'banana': 3, 'orange': 4, 'pear': 1}

4.值的任意性

dict()中的值可以是任意Python对象,包括其他的dict()、列表、元组、数字、字符串等。下面是一个例子:

# 字典中的值可以是列表my_dict['fruits'] = ['apple', 'banana', 'orange']# 字典中的值可以是字典my_dict['colors'] = {'apple': 'red', 'banana': 'yellow', 'orange': 'orange'}# 输出结果如下'fruits': ['apple', 'banana', 'orange'],'colors': {'apple': 'red', 'banana': 'yellow', 'orange': 'orange'}}

5.字典的长度

len()函数可以用于获取字典中键值对的数量。下面是一个例子:

# 获取字典中键值对的数量print(len(my_dict))# 输出结果如下6

6.键的类型

键可以是任意可哈希(hashable)的对象,例如数字、字符串、元组等。不过,列表和字典这样的可变对象是不能作为键的。下面是一个例子:

# 使用元组作为键my_dict[('apple', 'red')] = 2# 尝试使用列表作为键# my_dict[['apple', 'red']] = 2  # 会报错

7.字典的迭代

可以使用for循环迭代字典的键、值或键值对。下面是一个例子:

# 迭代字典的键for key in my_dict:    print(key)# 迭代字典的值for value in my_dict.values():    print(value)# 迭代字典的键值对for key, value in

四、字典的内置函数

Python中的字典(dict())有一些内置的函数可以用于操作和处理字典:

1.len():返回字典中键值对的数量。

my_dict = {'apple': 2, 'banana': 3, 'orange': 4}length = len(my_dict)print(length)  # 输出:3

2.keys():返回字典中所有的键。

my_dict = {'apple': 2, 'banana': 3, 'orange': 4}keys = my_dict.keys()print(keys)  # 输出:dict_keys(['apple', 'banana', 'orange'])

3.values():返回字典中所有的值

my_dict = {'apple': 2, 'banana': 3, 'orange': 4}values = my_dict.values()print(values)  # 输出:dict_values([2, 3, 4])

4.items():返回字典中所有的键值对。

# 此方法也是字典转列表my_dict = {'apple': 2, 'banana': 3, 'orange': 4}items = my_dict.items()print(items)  # 输出:dict_items([('apple', 2), ('banana', 3), ('orange', 4)])

5.clear():清空字典中所有的键值对。

my_dict = {'apple': 2, 'banana': 3, 'orange': 4}my_dict.clear()print(my_dict)  # 输出:{}

6.copy():返回字典的浅拷贝(只拷贝顶层对象)。

my_dict = {'apple': 2, 'banana': 3, 'orange': 4}new_dict = my_dict.copy()print(new_dict)  # 输出:{'apple': 2, 'banana': 3, 'orange': 4}

7.pop(key[, default]):删除并返回字典中指定键的值,如果键不存在,返回指定的默认值(默认为None)。

my_dict = {'apple': 2, 'banana': 3, 'orange': 4}value = my_dict.pop('apple')print(value)  # 输出:2print(my_dict)  # 输出:{'banana': 3, 'orange': 4}value = my_dict.pop('pear', 0)print(value)  # 输出:0

8.popitem():随机删除并返回字典中的一个键值对。

my_dict = {'apple': 2, 'banana': 3, 'orange': 4}item = my_dict.popitem()print(item)  # 输出:('orange', 4)print(my_dict)  # 输出:{'apple': 2, 'banana': 3}

9.update(other_dict):用另一个字典中的键值对更新当前字典,如果存在相同的键,则覆盖当前字典中的值。

# 语法my_dict.update(other_dict)# 示例my_dict = {'apple': 2, 'banana': 3, 'orange': 4}new_dict = {'pear': 1, 'banana': 5}my_dict.update(new_dict)print(my_dict)  # 输出:{'apple': 2, 'banana': 5, 'orange': 4, 'pear': 1}

10.删除字典del

可以使用 **del **关键字删除一个字典或字典中的键值对。

# 删除整个字典,只需使用 del 加上字典的名称my_dict = {'apple': 2, 'banana': 3, 'orange': 4}del my_dict  # 删除整个字典# 删除字典中的某个键值对,需要使用 del 加上字典中需要删除的键my_dict = {'apple': 2, 'banana': 3, 'orange': 4}del my_dict['banana']  # 删除键为 'banana' 的键值对

注意:需要注意的是,del 关键字删除的是变量本身,而不是其指向的对象。因此,如果有其他变量也指向同一个字典对象,那么删除其中一个变量后,其他变量仍然可以访问该字典对象
例如:

my_dict = {'apple': 2, 'banana': 3, 'orange': 4}other_dict = my_dictdel my_dict  # 删除 my_dict 变量print(other_dict)  # 输出:{'apple': 2, 'banana': 3, 'orange': 4}

11.str()函数

str() 函数将字典对象转换成一个字符串,字符串的格式为 {key1: value1, key2: value2, …}

my_dict = {'apple': 2, 'banana': 3, 'orange': 4}my_str = str(my_dict)print(my_str)  # 输出:{'apple': 2, 'banana': 3, 'orange': 4}

举例:列表(list)转字典(dict)

my_list = [('apple', 2), ('banana', 3), ('orange', 4)]my_dict = dict(my_list)print(my_dict)  # 输出:{'apple': 2, 'banana': 3, 'orange': 4}

五、字典的三种取值方式

在Python中,字典(dict())有三种取值方式:

my_list = [('apple', 2), ('banana', 3), ('orange', 4)]my_dict = dict(my_list)print(my_dict)  # 输出:{'apple': 2, 'banana': 3, 'orange': 4}

1.通过键获取值

可以通过字典的键获取对应的值,用法如下:

my_dict = {'apple': 2, 'banana': 3, 'orange': 4}value = my_dict['apple']print(value)  # 输出:2

2.使用get()方法获取值

也可以使用get()方法获取字典中对应键的值,如果键不存在,返回指定的默认值(默认为None),用法如下:

my_dict = {'apple': 2, 'banana': 3, 'orange': 4}value = my_dict.get('apple')print(value)  # 输出:2value = my_dict.get('pear', 0)print(value)  # 输出:0

3.遍历字典获取键和值

可以遍历字典获取每个键和对应的值,用法如下:

my_dict = {'apple': 2, 'banana': 3, 'orange': 4}for key, value in my_dict.items():    print(key, value)# 输出:# apple 2# banana 3# orange 4

4.注意

需要注意的是,如果尝试通过不存在的键获取值,会触发KeyError异常。因此,在获取字典中的值时,最好先判断键是否存在,可以使用in关键字或**keys()**方法来实现,例如:

my_dict = {'apple': 2, 'banana': 3, 'orange': 4}if 'apple' in my_dict:    print(my_dict['apple'])  # 输出:2if 'pear' not in my_dict.keys():    print('pear is not in the dict')

来源地址:https://blog.csdn.net/m0_50816276/article/details/130297660

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Python 中字典dict详解

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Python中字典dict

字典是一种组合数据,没有顺序的组合数据,数据以键值对形式出现# 字典的创建# 创建空字典1d = {}print(d)# 创建空字典2d = dict()print(d)# 创建有值的字典, 每一组数据用冒号隔开, 每一对键值对用逗号隔开d
2023-01-30

python字典 dict

#dict 字典;是一种key:value的数据类型,没有下标,是无序的。字典可以嵌套任何类型,可以嵌套很多层。#格式dict1 = {    "name1":"123",    "name2":"456",    "name4":"678
2023-01-31

python 字典dict

# -*- coding: utf-8 -*-# ****************************** 创建 ***************************dict1 = {}#定义1个元素的字典dict2 = {'pi':
2023-01-31

Python字典dict

dictPython内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。Python中的唯一一种映射类型。举个例子,假设要根据同学的名字查找对应的
2023-01-31

Python数据类型详解(四)字典:dict

一.基本数据类型整数:int字符串:str(注:t等于一个tab键)布尔值: bool列表:list 列表用[]元祖:tuple元祖用()字典:dict 注:所有的数据类型都存在想对应的类列里,元祖和列表功能一样,列表可以修改,元祖不能修改
2022-06-04

Python基础——字典(dict)

由键-值对构建的集合。 创建 dic1={}type(dic1) dic2=dict()type(dic2) 初始化 dic2={'hello':123,'world':456,'python':789}dic2dic2=dict([('h
2023-01-30

Python基础:字典(dict)与集合

查找场景下与列表的性能对比   字典与集合之所以高效的原因是:内部结构都是一张哈希表。  平均情况下插入、查找和删除的时间复杂度为 O(1).  假设有数量100,000的产品列表:import timeid = [x for x in r
2023-01-31

python字典构造函数dict(map

Python字典的构造函数有三个,dict()、dict(**args)、dict(mapping),其中第一个、第二个构造函数比较好理解也比较容易使用,而dict(mapping)这个构造函数的使用比较难理解。1 dict()构造函数可以
2023-01-31

python如何使用字典dict统计

这篇文章主要介绍python如何使用字典dict统计,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!使用字典 dict 统计循环遍历出一个可迭代对象的元素,如果字典中没有该元素,那么就让该元素作为字典的键,并将该键赋值
2023-06-27

python字典详解

字典是Python中唯一的內建的映射类型,可以存储任意对象的容器,比如:字符串,列表,元组,自定义对象等;字典由键(key)与值(value)组成,基本语法如下:{key:value, ... ...}字典中每个Key是唯一的,key必须是
2023-01-31

python dict 字典 以及 赋值 引用的一些实例(详解)

最近在做一个很大的数据库方面的东东,要用到根据数值来查找,于是想到了python中的字典,平时没用过dict这个东东 用的最多的还是 list 和 tuple (网上查 用法一大堆) 看了一下创建字典的方法: 方法1: dict = {'n
2022-06-04

如何分析python中字典dict和集合set

今天就跟大家聊聊有关如何分析python中字典dict和集合set,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1.字典字典是python中的一种数据结构。它的内容由**键-值(ke
2023-06-22

python 字典(dict)按键和值排序

python 字典(dict)的特点就是无序的,按照键(key)来提取相应值(value),如果我们需要字典按值排序的话,那可以用下面的方法来进行: 1 下面的是按照value的值从大到小的顺序来排序。dic = {'a':31, 'bc'
2022-06-04

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录