IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Python学习笔记10_字典(Dictionary) -> 正文阅读

[Python知识库]Python学习笔记10_字典(Dictionary)

Python学习笔记10_字典(Dictionary)

  • 字典是另一种可变容器模型,且可存储任意类型对象。
  • 字典的每个键值 key=>value 对用冒号 : 分割,每个对之间用逗号(,)分割,整个字典包括在花括号 {}
  • 字典的值可以是任何的 python 对象,既可以是标准的对象,也可以是用户定义的,但键不行。
  • 不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被存储
  • 键必须不可变,所以可以用数字,字符串或元组充当,而用列表就不行
  • 字典的格式如下:
d = {key1 : value1, key2 : value2, key3 : value3 }

1、字典创建

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

1.1、空字典创建

1)使用大括号 { } 创建空字典:

# 使用大括号 {} 来创建空字典
emptyDict = {}

2)使用内建函数 dict() 创建字典:

# 使用内建函数dict()创建空字典:
emptyDict = dict()

2、访问字典里的值

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

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

2)如果用字典里没有的键访问数据,会报错:

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'

3)使用字典的 get 方法

person = {'name': 'zhangsan', 'age': 18,'x':'y'}
print(person.get('name'))


# 如果 key 不存在,会默认返回 None,而不报错
print(person.get('whit'))	# None


# 如果 key 不存在,可以返回给定值
print(person.get('geter','falge'))	# falge

3、修改字典

1)向字典添加新内容的方法是增加新的键/值对,通过键添加键值对

tinydict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
 
# 使用key修改对应的value
tinydict['Age'] = 8      

# 添加新的键值对
tinydict['day'] = "Wed"  

2)使用字典的 update 方法合并两个字典

person1 = {'name': 'zhangsan', 'age': 18}
person2 = { 'heighe': 185, 'whit': 65}
person1.update(person2)
print(person1)		

4、字典的删除操作

  • 使用 del() 方法删除单一的元素
  • 使用 clear() 方法清空字典
  • 使用 del() 方法删除整个字典
  • 使用字典的 pop方法,把key对应的键值对删除了,并返回value值
  • 使用字典的popitem()方法,删除一个键值对,并返回一个由该键值对组成元素的元组
tinydict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
 
del tinydict['Name'] # 删除键 'Name'
tinydict.clear()     # 清空字典
del tinydict         # 删除字典


person = {'name': 'zhangsan', 'age': 18, 'heighe': 185, 'whit': 65}
print(person.pop('age'))	# 把key对应的键值对删除了,并返回value值
print(person.popitem())		# 删除一个键值对,并返回一个由该键值对组成元素的元组

5、字典的遍历

person = {'name': 'zhangsan', 'age': 18, 'heighe': 185, 'whit': 65}
# 字典遍历
# 方法一:
for k in person:  # k 获取的是 key
    print(k, ':', person[k])
    
    
# 方法二:
print(person.keys())  # dict_keys(['name', 'age', 'heighe', 'whit'])
for k in person.keys():  # keys() 方法是获取字典的key
    print(k, ':', person[k])
    
    
# 方法三:
print(person.values())  # dict_values(['zhangsan', 18, 185, 65])
for v in person.values():  # 使用 values() 方法获取字典的value
    print(v)  # 只能打印 value
    
    
# 方法四:
print(person.items())	# items() 方法获取的是字典的键值对
# dict_items([('name', 'zhangsan'), ('age', 18), ('heighe', 185), ('whit', 65)])
for k, v in person.items():  # 利用了拆包方法
    print(k, ':', v)
'''常用方法一和方法四'''

6、字典推导式

# 交换key,value
person = {'name': 'zhangsan', 'age': 18, 'heighe': 185, 'whit': 65}

# 方法一:
person1 = {}
for k,v in person.items():
    person1[v] = k
person = person1


# 方法二:推导式
person={v:k for k,v in person.items()}  # 交换key和value
print(person)

7、字典内置函数&方法

函数描述
len(dict)计算字典元素个数,即键的总数。
str(dict)输出字典,可以打印的字符串表示。
type(variable)返回输入的变量类型,如果变量是字典就返回字典类型。
函数描述
dict.clear()删除字典内所有元素
dict.copy()返回一个字典的浅复制
dict.fromkeys()创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
dict.get(key,default=None)返回指定键的值,如果键不在字典中返回 default 设置的默认值
key in dict如果键在字典dict里返回true,否则返回false
dict.items()以列表返回键值对的视图对象
dict.keys()返回键的视图对象
dict.setdefault(key,default=None)和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
dict1.update(dict2)把字典dict2的键/值对合并到dict1里
dict.values()返回值的视图对象
pop(key[,default])删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。
popitem()返回并删除字典中的最后一对键和值。
  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-05-24 18:07:23  更:2022-05-24 18:09:55 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 13:51:27-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码