【Python_11】Python基础语法(数据容器之字典详解)

文章目录

  • 概述
  • Python中的数据容器
  • 字典
    • 1.1 定义字典
    • 1.2取值与改值
    • 1.3 遍历字典
      • 1.3.1 遍历字典的key
      • 1.3.2 遍历字典的值
      • 1.3.3 遍历字典键值对
      • 1.3.4 sorted()函数排序
    • 1.4 字典常用方法

概述

  • 数据容器是用来存储和组织数据的数据结构和对象。
  • 可以以不同的方式存储和操作数据,提供了对数据的访问、添加、删除和修改等操作。
  • 数据容器可以是简单的数据类型(如整数、浮点数、字符串)或复杂的数据结构(如列表、元组、字典、集合等)
  • 不同的数据容器具有不同的特点和用途,可以根据具体的需求选择合适的数据容器来存储和操作数据。

Python中的数据容器

在Python中,常用的数据容器主要有列表,元组,字典,集合

字典

特点

  • 字典是可变的,可以动态地修改、删除和添加键-值对。
  • 字典的键必须是唯一的,值可以是任意类型。
  • 字典是无序的,即字典中的键-值对没有固定的顺序。
  • 在这里插入图片描述

1.1 定义字典

字典(dictionary):是一种无序的可变容器,用键-值对(key-value)的形式存储数据。字典使用花括号{}来表示,每个键-值对之间用冒号(:)分隔,键和值之间用逗号(,)分隔。

# 定义字典
my_dict = {'name': '王大锤', 'age': 18}
my_dict2 = {}
print(type(my_dict)) # <class 'dict'>
print(type(my_dict2)) # <class 'dict'>

1.2取值与改值

取值:my_dict[key]
改值:my_dict[key] = 新值,key在字典里存在就改key的值,不在字典里,新增一个新的键值对
注:字典没有索引下标一说,只有关键key


# 定义字典
my_dict = {
    "name": 'Jin',
    "age": 25,
    "province": "GuiZhou",
}
# 取值
print(my_dict['name'])  # Jin
# 改值
my_dict['name'] = '王小二'
print(my_dict)  # {'name': '王小二', 'age': 25, 'province': 'GuiZhou'}
# 向字典插入新的键值对key和value
my_dict['a'] = 'b'
print(my_dict)  # {'name': '王小二', 'age': 25, 'province': 'GuiZhou', 'a': 'b'}

1.3 遍历字典

1.3.1 遍历字典的key

# 定义字典
my_dict = {
    "name": 'Jin',
    "age": 25,
    "province": "GuiZhou",
}
# 遍历字典的key
for key in my_dict:
    print(key)

输出结果:

name
age
province

1.3.2 遍历字典的值

# 定义字典
my_dict = {
    "name": 'Jin',
    "age": 25,
    "province": "GuiZhou",
}
# 遍历字典的value
for value in my_dict.values():
    print(value)

输出结果:

Jin
25
GuiZhou

1.3.3 遍历字典键值对

# 定义字典
my_dict = {
    "name": 'Jin',
    "age": 25,
    "province": "GuiZhou",
}
# 遍历字典的键值对
for key, value in my_dict.items():
    print(key, value)

输出结果:

name Jin
age 25
province GuiZhou

1.3.4 sorted()函数排序

注:字典的键值对是无序的,所以遍历字典的顺序是不确定的。如果需要按照特定顺序遍历字典,可以使用sorted()函数对字典的键进行排序。

# 定义字典
my_dict = {
    "a": 1,
    "b": 2,
    "c": 3,
}
for key in sorted(my_dict):
    print(key, my_dict[key])

输出结果:

a 1
b 2
c 3

1.4 字典常用方法

dict.keys():返回字典中所有键的列表。
dict.values():返回字典中所有值的列表。
dict.items():返回字典中所有键值对的元组列表。
dict.get(key, default):根据键返回对应的值,如果键不存在,则返回默认值。
dict.pop(key, default):根据键删除对应的键值对,并返回对应的值,如果键不存在,则返回默认值。
dict.update(other_dict):将另一个字典中的键值对更新到当前字典中。
dict.setdefault(key, default):根据键获取对应的值,如果键不存在,则将键值对添加到字典中,并返回默认值。
dict.clear():清空字典中的所有键值对。
dict.copy():返回字典的浅拷贝。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/412657.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

主数据管理是数字化转型成功的基石——江淮汽车案例分享

汽车行业数字化转型的背景 在新冠疫情导火索的影响下&#xff0c;经济全球化政治基础逐渐动摇。作为全球最大的汽车市场&#xff0c;我国的汽车市场逐渐由增量转为存量市场。 在数字化改革大背景下&#xff0c;随着工业4.0时代的到来&#xff0c;江淮汽车集团力争实现十四五数…

goland配置新增文件头

参考&#xff1a; goland函数注释生成插件 goland函数注释生成插件_goland自动加函数说明-CSDN博客 GoLand 快速添加方法注释 GoLand 快速添加方法注释_goland批量注释-CSDN博客 goland 如何设置头注释&#xff0c;自定义author和data goland 如何设置头注释&#xff0c;自定…

苹果上架App被拒绝的原因

苹果上架App被拒绝的原因有很多种&#xff0c;主要包括以下几个方面&#xff1a; 1.功能问题&#xff1a;苹果认为你的App存在功能问题&#xff0c;不符合App Store的要求。比如&#xff0c;你的App可能存在漏洞&#xff0c;会影响用户体验或者安全性&#xff0c;或者涉及到隐…

现代化数据架构升级:毫末智行自动驾驶如何应对年增20PB的数据规模挑战?

毫末智行是一家致力于自动驾驶的人工智能技术公司&#xff0c;其前身是长城汽车智能驾驶前瞻分部&#xff0c;以零事故、零拥堵、自由出行和高效物流为目标&#xff0c;助力合作伙伴重塑和全面升级整个社会的出行及物流方式。 在自动驾驶领域中&#xff0c;是什么原因让毫末智行…

【可实战】被测系统业务架构、系统架构、技术架构、数据流、业务逻辑分析

一、为什么要学习 更深的理解业务逻辑&#xff08;公司是做什么的&#xff1f;它最重要的商务决策是什么&#xff1f;它里面的数据流是怎么做的&#xff1f;有哪些业务场景&#xff1f;考验你对这家公司、对所负责业务的熟悉程度。公司背后服务器用什么软件搭建的&#xff1f;…

js 对象总结

文章目录 1、创建对象的6种方式总结一、new 操作符 Object 创建对象二、字面式创建对象 2、js 如何判断对象是否为空3、获取对象长度4、js 遍历对象的 5 种方法1、for … in2、Object.keys(obj)3、Object.values(obj)4、Object.getOwnPropertyNames(obj)5、使用Reflect.ownKey…

领先科技2024年3月5-7日第12届国际生物发酵展-宁泰橡塑

参展企业介绍 湖南宁泰橡塑有限公司&#xff08;简称“宁泰”&#xff09;位于国家 级湖南省浏阳经济技术开发区&#xff0c;距离省会城市长沙35公里&#xff0c;距离黄花国际机场18公里&#xff0c;交通便利&#xff0c;区位和地缘优势明显。宁泰是一家专业从事卫生级橡塑制品…

通过 Java 中 5 种流行的方法提取电子邮件

在开发电子邮件处理应用程序时&#xff0c;建立一种从收件箱中提取消息的有效机制对于可靠、及时的传递和可访问性至关重要。处理不断增长的传入消息的组织和企业尤其赞赏它。在本文中&#xff0c;我们将探讨如何利用 Java 库的强大功能&#xff0c;通过 POP3、IMAP、EWS、Grap…

Linux系统部署前后端分离项目

一、Nginx简介 1.1 什么是nginx? Nginx&#xff08;发音同"engine x"&#xff09;是一个高性能的反向代理和 Web 服务器软件&#xff0c;最初是由俄罗斯人 Igor Sysoev 开发的。Nginx 的第一个版本发布于 2004 年&#xff0c;其源代码基于双条款 BSD 许可证发布&am…

Mysql常见函数和用法(重点)

目录 where子句中经常使用的运算符 order by 子句排序查询结果 合计 (count) 统计函数&#xff08;sum&#xff09; 求平均值函数&#xff08;avg&#xff09; 最大值&#xff08;max&#xff09;和最小值(min) groupby子句对列进行分组 字符串相关函数​编辑 数学相关…

华为ipv6 over ipv4 GRE隧道配置

思路&#xff1a; PC1访问PC2时&#xff0c;会先构造源ipv6为2001:1::2&#xff0c;目的IPV6为2001:2::2的ipv6报文&#xff0c;然后查看PC1的路由表&#xff0c;发送到R1&#xff0c;r1接收后&#xff0c;以目的IPV6地址2001:2::2查询IPV6路由表&#xff0c;出接口为tun0/0/0…

jQuery引入及下载方法

jQuery引入及下载方法 目录 jQuery引入及下载方法【方法1】cdn引入【方法2】下载本地文件 【方法1】cdn引入 直接在head引入jq <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title>&…

面试redis篇-13Redis为什么那么快

Redis是纯内存操作,执行速度非常快采用单线程,避免不必要的上下文切换可竞争条件,多线程还要考虑线程安全问题使用I/O多路复用模型,非阻塞IOI/O多路复用模型 Redis是纯内存操作,执行速度非常快,它的性能瓶颈是网络延迟而不是执行速度, I/O多路复用模型主要就是实现了高效…

消息中间件篇之Kafka-消息不丢失

一、 正常工作流程 生产者发送消息到kafka集群&#xff0c;然后由集群发送到消费者。 但是可能中途会出现消息的丢失。下面是解决方案。 二、 生产者发送消息到Brocker丢失 1. 设置异步发送 //同步发送RecordMetadata recordMetadata kafkaProducer.send(record).get();//异…

python Matplotlib Tkinter-->tab切换1

环境 python:python-3.12.0-amd64 包: matplotlib 3.8.2 pillow 10.1.0 import matplotlib.pyplot as plt from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg, NavigationToolbar2Tk import tkinter as tk import tkinter.messagebox as messagebox import …

Unity发布webgl获取浏览器的URL

Unity发布webgl获取浏览器的URL Unity发布webgl之后获取浏览器的url 在unity中创建文件夹Plugins&#xff0c;然后添加添加文件UnityGetBrowserURL.jslib var GetUrlFunc {//获取地址栏的URLStringReturnValueFunction: function () {var returnStr window.top.location.hre…

软件无线电SDR加人工智能算法实现无人机频谱探测

通用软件无线电接收机作为传感器实时接收探测无线电信号&#xff0c;加上深度学习算法实现频谱识别&#xff0c;(https://img-blog.csdnimg.cn/5a6c4d89a047453a94f763f4e67aeb17.png)

折腾Chrome插件,让内容脚本与文本交互~

我们要用内容脚本&#xff08;content scripts&#xff09;来给插件装上一双慧眼&#xff0c;让它能在你浏览的页面上跳来跳去&#xff0c;和文字做游戏。这就像给插件喂了一颗智慧豆&#xff0c;让它变得聪明起来&#xff0c;能够直接和网页内容打招呼啦&#xff01; 在本章&…

学成在线_nacos配置_无法连接到nacos上的配置文件

问题 nacos配置完成后启动程序控制台提示无法连接到数据库 问题原因 无法连接到数据库实际上是没能成功找到nacos上的配置。因为自己的bootstrap文件的拓展名为.yml而不是.yaml。 解决方案 确保nacos上、配置文件中以及配置文件本身的拓展名都是yaml nacos, 如果不是重新创…

2024程序员容器化上云之旅-第2集-Ubuntu-WSL2-Windows11版:接近深洞

故事梗概 Java程序员马意浓在互联网公司维护老旧电商后台系统。 渴望学习新技术的他在工作中无缘Docker。 他开始自学Vue3并使用SpringBoot3完成了一个前后端分离的Web应用系统&#xff0c;并打算将其用Docker容器化后用K8s上云。 3 挑选工具 马意浓画好架构图后&#xff…