Python基础六

news/2024/7/24 9:04:56 标签: python, 开发语言

目录

一、Python数据类型--字典

1.访问字典里的值

2.修改字典

3.删除字典元素

4.字典键的特性

二、Python内置函数--字典相关


一、Python数据类型--字典

字典是另一种可变容器模型,且可存储任意类型对象。

字典的每个键值 key=>value 对用冒号 : 分割,每个对之间用逗号(,)分割,整个字典包括在花括号 {} 中 ,原理类似于solidity的映射

键必须是唯一的,但值则不必。

值可以取任何数据类型,但键必须是不可变的,如字符串,数字。

创建空字典

字典名 = { }

1.访问字典里的值

把相应的键放入到方括号中

python">tinydict = {'Name': '尽欢', 'Age': 7, 'Class': 'First'}
 
print ("tinydict['Name']: ", tinydict['Name'])
print ("tinydict['Age']: ", tinydict['Age'])

以上实例输出结果:
tinydict['Name']:  尽欢
tinydict['Age']:  7

 如果用字典里没有的键访问数据,会输出错误如下:

tinydict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'} print ("tinydict['Alice']: ", tinydict['Alice'])

以上实例输出结果:

Traceback (most recent call last):
  File "test.py", line 5, in <module>
    print ("tinydict['Alice']: ", tinydict['Alice'])
KeyError: 'Alice'

2.修改字典

修改字典可以添加键值对,也可以修改字典某个键对应的值

python">tinydict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
 
tinydict['Age'] = 8               # 更新 Age
tinydict['School'] = "尽欢"  # 添加信息
 
print ("tinydict['Age']: ", tinydict['Age'])
print ("tinydict['School']: ", tinydict['School'])

以上实例输出结果:
tinydict['Age']:  8
tinydict['School']:  尽欢

3.删除字典元素

能删字典的某个键值对,也能清空字典,也能删除字典

知识补充:字典内置函数

clear()用于清空字典内元素

用法:

字典名.clear()

python">tinydict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
 
del tinydict['Name'] # 删除键 'Name'
tinydict.clear()     # 清空字典
del tinydict         # 删除字典
 
print ("tinydict['Age']: ", tinydict['Age'])
print ("tinydict['School']: ", tinydict['School'])
但这会引发一个异常,因为用执行 del 操作后字典不再存在:

Traceback (most recent call last):
  File "/runoob-test/test.py", line 9, in <module>
    print ("tinydict['Age']: ", tinydict['Age'])
NameError: name 'tinydict' is not defined

4.字典键的特性

字典值可以是任何的 python 对象,既可以是标准的对象,也可以是用户定义的,但键不行。

两个重要的点需要记住:

  • 不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住
  • 键必须不可变,所以可以用数字,字符串或元组充当,而用列表就不行
python">tinydict = {'Name': 'Runoob', 'Age': 7, 'Name': '小菜鸟'}
 
print ("tinydict['Name']: ", tinydict['Name'])

以上实例输出结果:
tinydict['Name']:  小菜鸟


tinydict = {['Name']: 'Runoob', 'Age': 7}
print ("tinydict['Name']: ", tinydict['Name'])

以上实例输出结果:
Traceback (most recent call last):
  File "test.py", line 3, in <module>
    tinydict = {['Name']: 'Runoob', 'Age': 7}
TypeError: unhashable type: 'list'

二、Python内置函数--字典相关


http://www.niftyadmin.cn/n/467856.html

相关文章

转行做TA(技术美术),需要掌握哪些基础知识?

TA的岗位职责 负责美术与程序之间的沟通&#xff0c;配合实现美术效果&#xff0c;提高画面整体表现力制定美术资源规范&#xff0c;提高导出资源的可用性和规范性快速跟进研发最新的游戏引擎与渲染技术&#xff1b;在性能优化的同时&#xff0c;提高游戏画面表现&#xff1b;…

chatgpt赋能python:Python编译成二进制文件:优化代码执行效率

Python编译成二进制文件&#xff1a;优化代码执行效率 介绍 随着Python编程的不断普及&#xff0c;越来越多的开发者选择Python作为开发工具。然而&#xff0c;Python解释器需要读取并解释源代码&#xff0c;这种解释方式在执行效率上存在瓶颈。为了提高执行效率&#xff0c;…

计算机网络——自顶向下方法(第五章学习记录)

本章学习网络层&#xff1a;控制平面 控制平面作为一种网络范围的逻辑&#xff0c;不仅控制沿着从源主机到目的主机的端到端路径间路由器如何转发数据报&#xff0c;而且控制网络层组件和服务如何配置和管理。 概述 通过前面的学习&#xff0c;我们已经知道转发表&#xff0…

MySQL在远程访问时非常慢的解决skip-name-resolve

服务器放在局域网内进行测试时&#xff0c;数据库的访问速度还是很快。但当服务器放到外网后&#xff0c;数据库的访问速度就变得非常慢。 后来在网上发现解决方法,my.cnf里面添加 [mysqld] skip-name-resolve 这样速度就快了! skip-name-resolve 选项就能禁用DNS解析&…

Qt自定义窗口部件/控件(实现一个十六进制微调框SpinBox)

目录 1、自定义Qt窗口部件/控件2、十六进制微调框(SpinBox)2.1、实现思路2.2、源码 3、使用方法3.1、代码添加自定义窗口部件/控件3.2、Qt设计师添加自定义窗口部件/控件3.3、运行效果 4、缺点 1、自定义Qt窗口部件/控件 在某些情况下,我们发现Qt窗口控件需要更多的自定义定制…

【跟小嘉学 Rust 编程】六、枚举和模式匹配

系列文章目录 【跟小嘉学 Rust 编程】一、Rust 编程基础 【跟小嘉学 Rust 编程】二、Rust 包管理工具使用 【跟小嘉学 Rust 编程】三、Rust 的基本程序概念 【跟小嘉学 Rust 编程】四、理解 Rust 的所有权概念 【跟小嘉学 Rust 编程】五、使用结构体关联结构化数据 【跟小嘉学…

Springboot-- 注解字段校验,并统一设置返回值

Springboot-- 注解字段校验&#xff0c;并统一设置返回值 引包&#xff1a;import org.springframework.validation.annotation.Validated; <!--web--> <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-star…

华为eNSP入门实验,Vlan配置,路由配置,用户模式,链路聚合

文章目录 一、同一交换机下的PC通信二、不交换机下的PC通信三、配置静态路由通信四、路由器rip协议配置五、路由器ospf协议配置六、单臂路由七、通过三层交换机使不同的Vlan能连通八、设备consolo密码模式九、设备consolo用户密码模式&#xff08;AAA模式&#xff09;十、Telne…