返回顶部
首页 > 资讯 > 后端开发 > Python >Python 中字典dict详解
  • 318
分享到

Python 中字典dict详解

python开发语言 2023-09-01 16:09:38 318人浏览 安东尼

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

摘要

一、字典(dict)概念 字典是另一种可变容器模型,且可存储任意类型对象如字符串、数字、元组等其他容器模型,因为字典是无序的所以不支持索引和切片。 二、字典(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

--结束END--

本文标题: Python 中字典dict详解

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

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

猜你喜欢
  • Python 中字典dict详解
    一、字典(dict)概念 字典是另一种可变容器模型,且可存储任意类型对象如字符串、数字、元组等其他容器模型,因为字典是无序的所以不支持索引和切片。 二、字典(dict)的定义 一般格式: 字典的每个键...
    99+
    2023-09-01
    python 开发语言
  • Python中字典dict
    字典是一种组合数据,没有顺序的组合数据,数据以键值对形式出现 # 字典的创建 # 创建空字典1 d = {} print(d) # 创建空字典2 d = dict() print(d) # 创建有值的字典, 每一组数据用冒号隔...
    99+
    2023-01-30
    字典 Python dict
  • Python字典dict
    dict Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。Python中的唯一一种映射类型。 举个例子,假设要根据同学的名字...
    99+
    2023-01-31
    字典 Python dict
  • python字典 dict
    #dict 字典;是一种key:value的数据类型,没有下标,是无序的。字典可以嵌套任何类型,可以嵌套很多层。 #格式 dict1 = {     "name1":"123",     "name2":"456",     "name4"...
    99+
    2023-01-31
    字典 python dict
  • python 字典dict
    # -*- coding: utf-8 -*- # ****************************** 创建 *************************** dict1 = {} #定义1个元素的字典 dict2 = ...
    99+
    2023-01-31
    字典 python dict
  • python--字典(dict)和集合(set)详解
    目录一、集合1.集合定义2.创建集合3.去重4.集合增删5.关系运算6.排序7.frozenset8.练习9.特性二、字典1.字典定义2.字典打印3.字典元素删除4.setdefau...
    99+
    2024-04-02
  • Python数据类型详解(四)字典:dict
    一.基本数据类型   整数:int   字符串:str(注:t等于一个tab键)   布尔值: bool   列表:list   列表用[]   元祖:tuple   元祖用()   字典:dict 注...
    99+
    2022-06-04
    字典 详解 数据类型
  • Python基础——字典(dict)
    由键-值对构建的集合。 创建   dic1={} type(dic1)   dic2=dict() type(dic2)   初始化 dic2={'hello':123,'world':456,'python':789} ...
    99+
    2023-01-30
    字典 基础 Python
  • python-字典dict和集合set
    目录1.字典 字典的相关操作 获取字典的长度2.集合 1.字典 字典是python中的一种数据结构。 它的内容由**键-值(key-value)**的方式存在。 dict拥有良好的...
    99+
    2024-04-02
  • python3之dict字典
    字典字典是一种无序结构字典是一种kv结构value可以是任何对象key是唯一的key必须是可hash对象 字典初始化d = {}d = dict()d = {'a':1 , 'b':2} 字典的方法:1.     d.clear      ...
    99+
    2023-01-31
    字典 dict
  • Python 将字典(dict)转换为DataFrame
    Python 将字典(dict)转换为DataFrame 将字典转换为 Pandas DataFame 的方法 Pandas 的 DataFrame 构造函数pd.DataFrame()如果将字典的 ...
    99+
    2023-08-31
    python pandas 开发语言
  • Python基础:字典(dict)与集合
    查找场景下与列表的性能对比    字典与集合之所以高效的原因是:内部结构都是一张哈希表。   平均情况下插入、查找和删除的时间复杂度为 O(1).   假设有数量100,000的产品列表: import time id = [x for...
    99+
    2023-01-31
    字典 基础 Python
  • python字典构造函数dict(map
    Python字典的构造函数有三个,dict()、dict(**args)、dict(mapping),其中第一个、第二个构造函数比较好理解也比较容易使用, 而dict(mapping)这个构造函数的使用比较难理解。 1 dict()构造函...
    99+
    2023-01-31
    字典 函数 python
  • 详解Python中的Dict
    目录什么是dict?我们下面看看dict的增删查改总结什么是dict? dict全称为dictionary(字典),人如其名,像字典一样可以根据索引定位到特定的文字。 在python...
    99+
    2024-04-02
  • Python 字典详解
    目录什么是字典?创建字典1. 直接赋值2. 使用 dict()函数创建空字典3. 获取字典元素4. 唯一的键,如果字典中有俩个或多个相同的键,默认取最后一个小结:字典的增字典的改&n...
    99+
    2024-04-02
  • python字典详解
    字典是Python中唯一的內建的映射类型,可以存储任意对象的容器,比如:字符串,列表,元组,自定义对象等;字典由键(key)与值(value)组成,基本语法如下: {key:value, ... ...}字典中每个Key是唯一的,key必...
    99+
    2023-01-31
    字典 详解 python
  • python dict 字典 以及 赋值 引用的一些实例(详解)
    最近在做一个很大的数据库方面的东东,要用到根据数值来查找,于是想到了python中的字典,平时没用过dict这个东东 用的最多的还是 list 和 tuple (网上查 用法一大堆) 看了一下创建字典的方法...
    99+
    2022-06-04
    赋值 字典 详解
  • python 字典(dict)按键和值排序
    python 字典(dict)的特点就是无序的,按照键(key)来提取相应值(value),如果我们需要字典按值排序的话,那可以用下面的方法来进行: 1 下面的是按照value的值从大到小的顺序来排序。 ...
    99+
    2022-06-04
    字典 按键 python
  • python如何使用字典dict统计
    这篇文章主要介绍python如何使用字典dict统计,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!使用字典 dict 统计循环遍历出一个可迭代对象的元素,如果字典中没有该元素,那么就让该元素作为字典的键,并将该键赋值...
    99+
    2023-06-27
  • python字典dict与json数据转换
    JSON(JavaScript Object Notation, JS对象简谱)是一种轻量级的数据交换格式。现在的接口请求request params和response body,大都是使用json格式的数据。 Python使用reques...
    99+
    2023-09-09
    python json 软件测试
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作