python中的字典

这篇具有很好参考价值的文章主要介绍了python中的字典。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

1.什么是字典

2.字典的原理

3.字典的创建与删除

4.字典的查询操作

5.字典的增、删、改操作

6.字典的推导式

        字典元素的遍历

        字典的生成式

7.字典的特点


1.什么是字典

  1. 字典是python内置的的数据之一,与列表一样是一个可变序列(可变序列就是列表能执行增删改的操作)
  2. 键值对的方式存储数据,字典是一个无序的序列,列表是一个有序序列。
  3. 用{}来定义字典

python中的字典

python中的字典

 key1,key2.....代表的是第几个放入字典当中的键,可以看出第一个放入字典的键并不是第一个,因为这里存在一个hash()函数的工序,利用这个函数,计算存储位置。所以放入字典中的键必须是一个不可变序列。例如:字符串,整数序列就是不可变序列,字典,列表都是可变序列。

2.字典的原理

        字典的实现原理:python中的字典是根据Key查找value所在的位置。

3.字典的创建与删除

        最常用的方式:使用{},scores= {'张三':100,'李四':98,'王五':45}

        使用内置函数:dict(name='jack',age=20)

'字典的创建方式'
# 使用{}创建字典
scores = {'张三': 100, '李四': 98, '王五': 45}
print(scores, type(scores))
# 使用内置函数dict()
student = dict(name='jack', age=20)
print(student, type(student))
# 空字典
d = {}

4.字典的查询操作

                获取字典中的值第一种方式就是使用[ ],第二种就是使用get()方法。二者的区别是如果查找的键不存在,第一种会报错,第二种报None

scores = {'张三': 100, '李四': 98, '王五': 45}

'获取字典中的元素'
# 使用 []
print(scores['张三'])  # 100
# print(scores['陈六'])  # KeyError: '陈六'
# 使用get()方法
print(scores.get('张三'))  # 100
# print(scores.get('陈六'))  # None
print(scores.get('麻七', 99))  # 99    这里输出99是因为查找的时候Value不存在时,提供的一个默认值

5.字典的增、删、改操作

        key的判断

python中的字典

scores = {'张三': 100, '李四': 98, '王五': 45}

'键的判断'
print('张三' in scores)  # True
print('张三' not in scores)  # False

"======================================================"
scores = {'张三': 100, '李四': 98, '王五': 45}

del scores['张三']  # 删除指定的键值对
print(scores)
# {'李四': 98, '王五': 45}

scores.clear()  # 清空字典内的所有元素
print(scores)
# {}

"======================================================"
scores = {'张三': 100, '李四': 98, '王五': 45}
scores["陈六"] = 98  # 字典元素的添加
print(scores)
# {'张三': 100, '李四': 98, '王五': 45, '陈六': 98}

scores["陈六"] = 105  # 修改键值对的值
print(scores)
# {'张三': 100, '李四': 98, '王五': 45, '陈六': 105}

获取字典视图的三个方法

        keys():获取字典中的所有key

        values():获取字典中的所有value对

        items():获取字典中的所有key,value对

scores = {'张三': 100, '李四': 98, '王五': 45}

scores.keys()  # 获取所有的key
print(scores.keys(), type(scores.keys()))
# dict_keys(['张三', '李四', '王五']) <class 'dict_keys'>
print(list(scores.keys()))  # 将所有的key组成的试图转换为列表
# ['张三', '李四', '王五']

scores.values()  # 获取所有的values
print(scores.values(), type(scores.values()))
#  dict_values([100, 98, 45]) <class 'dict_values'>
print(list(scores.values()))  # 将所有的value组成的试图转换为列表
# [100, 98, 45]

scores.items()  # 获取所有的keys,values(键值对)
print(scores.items())
# dict_items([('张三', 100), ('李四', 98), ('王五', 45)])
print(list(scores.items()))  # 转换之后的list类型为元组
# [('张三', 100), ('李四', 98), ('王五', 45)]  # 元组

6.字典的推导式

        字典元素的遍历

scores = {'张三': 100, '李四': 98, '王五': 45}
for item in scores:  # 遍历的字典元素所有的键
    print(item, end='\t')
# 遍历的字典元素所有的值
for item in scores:
    print(scores[item], scores.get(item))
for item in scores.values():
    print(item)

        字典的生成式

        使用内置函数zip(),用于将可迭代的对象作为参数,将对象中相应的元素打包成一个元组,然后返回由这些元组组成的列表。文章来源地址https://www.toymoban.com/news/detail-451644.html

item = ['张三', '李四', '王五']
lst = [100, 200, 300, 400, 500]
scores1 = zip(item, lst)
print(list(scores1))  # 生成的是元组组成的列表
scores1 = zip(item, lst)
print(dict(scores1))  # 生成的是字典

scores = {item: lst for item, lst in zip(item, lst)}   # 在进行打包时,会以元素少的那部分为基准而生成
print(scores)

7.字典的特点

  •         字典的所有元素都是一个key-value对,key不允许重复,value可以重复
  •         字典的元素是无序的
  •         字典的key必须是不可变对象
  •         字典也可以根据需要动态伸缩
  •         字典会浪费较大的内存,是一种空间换时间的数据结构
scores = {'张三': 100, '李四': 98, '王五': 45, "张三": 500, "新张三": 100}
print(scores)  # 键不允许重复,重复的话会出现值覆盖的情况,value是可以重复的
# {'张三': 500, '李四': 98, '王五': 45, '新张三': 100}

到了这里,关于python中的字典的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 在 Python 中替换字典中的值

    使用 dict.update() 方法替换字典中的值,例如 my_dict.update({\\\'key\\\': \\\'new value\\\'}) 。 dict.update() 方法使用提供的值中的键值对更新字典。 我们使用 dict.update 方法来替换字典中的值。 ict.update 方法使用提供的值中的键值对更新字典。 该方法覆盖字典的现有键并返回 None 。 dict.update() 方

    2024年02月07日
    浏览(40)
  • 为什么在Python中总是使用【字典】这种类型呢?

    你好,我是安然无虞。 字典 dict 是一个无序、可变和有索引的集合,字典中不允许存在重复的成员。 在Python中, {} 表示一个空字典,同时 dict() 也表示一个空字典。例如: 说明一下: 字典是一种存储键值对的结构,键和值一一对应,根据键就能快速地找到其对应的值。 字

    2024年04月15日
    浏览(60)
  • Python教程(11)——Python中的字典dict的用法介绍

    列表虽然好,但是如果需要快速的数据查找,就必须进行需要遍历,也就是最坏情况需要遍历完一遍才能找到需要的那个数据,时间复杂度是O(n),显然这个速度是很难接受的,于是就必须要有新的数据结构出现,于是字典就诞生了! 在Python中,字典(Dictionary)是一种无序的

    2024年02月10日
    浏览(43)
  • Laravel框架中的目录结构都有什么作用?

    Laravel框架安装完成后,会在C:lwebwwwlapavel目录下自动创建一些文件和目录。本节来了解一下框架中各个目录的作用。 Laravel框架一级目录的作用如表所示。 在熟悉了一级目录的作用后,下面来看一下Laravel框架常用的子目录和文件的作用,如下表所示。

    2024年02月07日
    浏览(46)
  • Python+requests+pytest+allure封装接口自动化1-项目结构目录创建,requests库封装

    api: 这是一个package,用来各个接口的类封装,按照你的业务可以将其分为多个package common: 这是一个package,用来封装底层公共方法,比如requests库封装、文件操作封 装、加解密封装、redis封装、数据库封装、随机数据封装、日志封装 testcases: 这是一个package,用来编写封装我们

    2024年02月12日
    浏览(60)
  • Java 中的线程是什么,如何创建和管理线程-上(十一)

    Java 中的线程是指程序中可以独立执行的最小单位。在 Java 中,创建线程通常有两种方式:继承 Thread 类和实现 Runnable 接口。线程的管理包括控制线程状态、线程优先级、线程同步等。 一、Java 中的线程 线程是程序中能够独立执行的最小单位,它具有自己的执行路径、调用栈

    2024年02月03日
    浏览(37)
  • Vue.js 中的响应式原理是什么?

    Vue.js 是一种流行的前端框架,它使用了一种称为“响应式”的技术来实现数据绑定。这意味着当数据发生变化时,Vue.js会自动更新相关的视图,而无需手动操作DOM。在本文中,我们将深入探讨Vue.js中的响应式原理。 在Vue.js中,响应式是指当数据发生变化时,相关的视图将自

    2024年02月07日
    浏览(36)
  • 官答|初始化GreatSQL报错无法找到数据目录或初始化数据字典失败

    GreatSQL推出新栏目——官答 官答栏目针对GreatSQL数据库中的问题,选取官方论坛和讨论群中的典型提问进行深入解答。内容涵盖数据库安装部署、配置优化、故障排查、性能测试等方面。 在文章中,我们不仅提供解决方案,还会结合实例深入剖析问题的成因,提升读者对GreatSQL数据

    2024年02月04日
    浏览(61)
  • Spring Boot 中的 WebMvc 是什么,原理,如何使用

    在 Spring Boot 中,WebMvc 是非常重要的一个模块。它提供了一系列用于处理 Web 请求的组件和工具。在本文中,我们将介绍 Spring Boot 中的 WebMvc 是什么,其原理以及如何使用它来处理 Web 请求。 WebMvc 是 Spring 框架中的一个模块,它提供了一系列用于处理 Web 请求的组件和工具。它

    2024年02月11日
    浏览(46)
  • Spring Boot 中的 RedisCacheManager 是什么,原理,如何使用

    在现代应用程序中,缓存是提高应用程序性能的重要组成部分。Spring Boot 提供了一个强大的缓存框架,它支持多种缓存提供程序,包括 Redis、Ehcache、Caffeine 等。在本文中,我们将重点介绍 Spring Boot 中的 RedisCacheManager,并探讨它的原理和如何使用它来提高应用程序的性能。

    2024年02月10日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包