[PYthon] 字典

                  如题,这篇博客将带大家来学习Python中的字典~

             那么,是我们想象中的那种字典嘛?接下来跟着可莉去一探究竟吧~

                                     

                                 可莉将这篇文章收录在了:《Python》

                                 可莉推荐的优质博主主页:Keve ’ s blog

Python 中的字典(Dictionary)是一种非常强大且常用的数据结构,它提供了键-值对之间的映射

关系,能够高效地存储和查找数据。在本篇博客中,可莉将带大家将深入了解 Python 字典的特

性、用法和一些常见操作~


创建字典

a = { }
b = dict() //dict即代表着字典

上面相当于对字典进行了一个初始化,字典的创建依据以下规则:

键值对之间使用 , 分割, 键和值之间使用 : 分割

在初始化时添加键值对 :

student = { 'id': 1, 'name': 'zhangsan' }
print(student)

为了代码的美观和可读性,我们可以将代码书写风格改为如下:

student = {
    'id': 1,
    'name': 'zhangsan'
}

字典的特性

  1. 键的唯一性:字典中的键必须是唯一的,如果存在重复的键,则后面的键值对会覆盖前面的。
  2. 可变性:字典是可变的,可以动态地添加、删除或修改键值对。
  3. 无序性:字典中的键值对是无序的,即它们没有固定的顺序。

查找key

两种方法:① in  ,  ②  [ ]

in判定存在

student = {
    'id': 1,
    'name': 'zhangsan',
}

print('id' in student)
print('score' in student)

运行结果为:
True

False 

通过 [ ] 获取

student = {
    'id': 1,
    'name': 'zhangsan',
}

print(student['id'])
print(student['name'])

我们可以使用 [ ] ,通过类似于取下标的方式, 获取到元素的值. 只不过此处的 "下标" 是 key. (可能是整数, 也可能是字符串等其他类型),用key来获取valve。

不存在情况

student = {
    'id': 1,
    'name': 'zhangsan',
}

print(student['noele'])
print(student['name'])

     

当试图去查找一个不存在的key值时会进行如上图的报错。

get() 方法

还有一种对于查找key的方法

my_dict = {
    'id': 1,
#'name': 'zhangsan',
}

name = my_dict.get('name','unknow')
print(name)

获取键为 'name' 的值,如果键不存在返回默认值 'Unknown',“unknow”可以是其他元素,相当于形参可以修改。如果没有填“unknow”位置的参数时,当没有key时默认返回none。

新增/修改元素

进行新添和修改元素时一般是使用 [ ] 来进行操作。因为字典的底层原理相当于是哈希映射,所以在添加顺序上不需要去进行特意的插入。

新添元素实现代码如下:

student = {
    'id': 1,
    'name': 'zhangsan',
}

student['score'] = 90
print(student)

修改元素:

当字典中已经存在key时对key进行操作

student = {
    'id': 1,
    'name': 'zhangsan',
    'score': 80
}

student['score'] = 90
print(student)

删除元素

我们一般使用pop 方法根据 key 删除对应的键值对:

student = {
    'id': 1,
    'name': 'zhangsan',
    'score': 80
}

student.pop('score')
print(student

遍历字典元素

student = {
    'id': 1,
    'name': 'zhangsan',
    'score': 80
}

for key in student:
    print(key, student[key])

取出所有 key 和 value

# 获取所有键
keys = my_dict.keys()

# 获取所有值
values = my_dict.values()

# 获取所有键值对
items = my_dict.items()

通过以上方法即可得到需要得到的值。

合法的key类型

因为字典的原理就是哈希表,所以我们所设置的key也必须是可哈希的。

print(hash(0))
print(hash(3.14))
print(hash('hello'))
print(hash(True))
print(hash(())) # ( ) 是一个空的元组

以上值均为可哈希的值,他们都有共同的特点,就是是固定的值不会改变,包括元组。

有可以作为key值的当然也有不能作为key值的:

  • 列表
  • 字典

如上两种类型都是可以改变的,我们可以通过一系列操作来改变列表和元组内部元素或键值对,所以他们作为可变的量导致他们无法作为字典中的key。

可莉敲黑板(小结)

字典也是一个常用的结构. 字典的所有操作都是围绕 key 来展开的。当遇到需要表示 "键值对映射"

这种场景时就可以考虑使用字典了~

下面是一个在底层实现方法上字典和列表所体现出来的一些差异~(来源于汤神)

 那么这篇博客到此结束啦~  大家下篇见!

相关推荐

  1. python字典

    2024-02-12 09:54:02       32 阅读
  2. python字典

    2024-02-12 09:54:02       24 阅读
  3. python字典

    2024-02-12 09:54:02       31 阅读
  4. Python字典

    2024-02-12 09:54:02       24 阅读
  5. Python-字典详解

    2024-02-12 09:54:02       56 阅读
  6. Python课堂11——字典

    2024-02-12 09:54:02       56 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-12 09:54:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-12 09:54:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-02-12 09:54:02       82 阅读
  4. Python语言-面向对象

    2024-02-12 09:54:02       91 阅读

热门阅读

  1. 多进程服务器和多线程服务器

    2024-02-12 09:54:02       53 阅读
  2. [94] 二叉树的中序遍历 js

    2024-02-12 09:54:02       57 阅读
  3. HTML世界之第一重天

    2024-02-12 09:54:02       51 阅读
  4. element-ui解决上传文件时需要携带请求数据的问题

    2024-02-12 09:54:02       52 阅读
  5. P1597 语句解析(C++)

    2024-02-12 09:54:02       53 阅读
  6. 221. 最大正方形

    2024-02-12 09:54:02       61 阅读
  7. unity学习(1)——控件与脚本的入门

    2024-02-12 09:54:02       64 阅读
  8. 2.3 Verilog 数据类型

    2024-02-12 09:54:02       60 阅读
  9. GraphicsMagick 的 OpenCL 开发记录(三十三)

    2024-02-12 09:54:02       48 阅读
  10. Python爬虫之非关系型数据库存储#5

    2024-02-12 09:54:02       55 阅读