首页技术文章正文

python字典操作:Python字典详细教程

更新时间:2021-12-21 来源:黑马程序员 浏览量:

IT培训班


1. python字典是什么?

字典是Python中比较常用的数据结构,字典中每个成员是以“键:值”对的形式存放具有映射关系的数据。


2. Python如何创建字典?

字典语法:

字典以大括号“{}”包围的以“键:值”对方式声明和存在的数据集合,“键:值”对之间用“英文逗号”隔开。

如下代码创建了一个字典:

scores_dict = {'语文': 105, '数学': 140, '英语': 120}
print(scores_dict)
python创建字典

3. Python字典的特点

·字典的每个健值的展现方式是:key:value用冒号分割;

·键值之间为逗号分割;

·整个字典用大括号{}将键值括起来;

·字典是无序的,它不能通过偏移来存取,只能通过键来存取;

·键必须是唯一;

·键必须是不可变的数据类型,比如,数字,字符串,元组等,列表等可变对象不能作为键;

·键值可以是任意类型的对象;

  

4. Python字典的基本用法

4.1 访问字典的值

通过 key 访问value,演示如下:

scores_dict = {'语文': 105, '数学': 140, '英语': 120}
print(scores_dict['语文'])        # 通过键“语文”获取对应的值

4.2 添加键值对

通过 key 添加 key-value 对,演示如下:

scores_dict = {'语文': 105, '数学': 140, '英语': 120}
scores_dict['物理'] = 97    # 添加 ‘物理’:  97
print(scores_dict)  # {'语文': 105, '数学': 140, '英语': 120, '物理': 97}


4.3 删除键值对

·能删单一的元素

通过 key 删除 key-value 对,演示如下:

scores_dict = {'语文': 105, '数学': 140, '英语': 120}
del scores_dict['数学']   # 删除 ’语文‘: 105
print(scores_dict)      # 输出 {'语文': 105, '英语': 120}

4.4 修改字典值

通过 key 修改 key-value 对,演示如下:

scores_dict = {'语文': 105, '数学': 140, '英语': 120}
scores_dict['数学'] = 120  # 修改将“数学”修改为120
print(scores_dict)      # 输出 {'语文': 105, '数学': 120, '英语': 120}

4.5 判断键值对是否存在

如果要判断字典是否包含指定的 key,则可以使用 in 或 not in 运算符。需要指出的是,对于 dict 而言,in 或 not in 运算符都是基于 key 来判断的。例如如下代码:

scores_dict = {'语文': 105, '数学': 140, '英语': 120}
# 判断scores_dict是否包含名为'语文'的key
print('语文' in scores_dict)          # True
# 判断scores_dict不包含'历史'的key
print('历史' not in scores_dict)      # True

5. Python字典的常用方法

5.1 clear()方法

clear() 用于清空字典中所有的 key-value 对,对一个字典执行 clear() 方法之后,该字典就会变成一个空字典。

scores_dict = {'语文': 105, '数学': 140, '英语': 120}
print(scores_dict)  # 输出 {'语文': 105, '数学': 140, '英语': 120}
 
scores_dict.clear()     # 删除字典所有内容
print(scores_dict)      # 输出{}

5.2 get()方法

get() 方法其实就是根据 key 来获取 value,它相当于方括号语法的增强版,当使用方括号语法访问并不存在的 key 时,字典会引发 KeyError 错误;但如果使用 get() 方法访问不存在的 key,该方法会简单地返回 None,不会导致错误。例如如下代码:

scores_dict = {'语文': 105, '数学': 140, '英语': 120}
print(scores_dict.get('历史'))    # 输出 None
print(scores_dict['历史'])      # 报错 KeyError: '历史'

5.3 update()方法

update() 方法可使用一个字典所包含的 key-value 对来更新己有的字典。在执行 update() 方法时,如果被更新的字典中己包含对应的 key-value 对,那么原 value 会被覆盖;如果被更新的字典中不包含对应的 key-value 对,则该 key-value 对被添加进去。例如如下代码:

scores_dict = {'语文': 105, '数学': 140, '英语': 120}
scores_dict.update({'语文': 120, '数学': 110})
print(scores_dict)      # 输出{'语文': 120, '数学': 110, '英语': 120}

5.4 items()方法

以列表返回可遍历的(键, 值) 元组数组

scores_dict = {'语文': 105, '数学': 140, '英语': 120}
print(scores_dict.items())  # 输出 dict_items([('语文', 105), ('数学', 140), ('英语', 120)])

5.5 keys()方法

以列表返回一个字典所有的键

scores_dict = {'语文': 105, '数学': 140, '英语': 120}
print(scores_dict.keys())  # 输出 dict_keys(['语文', '数学', '英语'])

br/>

5.6 values()方法

以列表返回字典中的所有值

scores_dict = {'语文': 105, '数学': 140, '英语': 120}
print(scores_dict.values())  # 输出 dict_values([105, 140, 120])

5.7 pop()方法

pop() 方法用于获取指定 key 对应的 value,并删除这个 key-value 对。如下方法示范了 pop() 方法的用法:

scores_dict = {'语文': 105, '数学': 140, '英语': 120}
scores_dict.pop('英语')   # 删除'英语'的键和值
print(scores_dict)  # 输出{'语文': 105, '数学': 140}

5.8 popitem()方法

popitem() 方法用于弹出字典中最后一个key-value对

scores_dict = {'语文': 105, '数学': 140, '英语': 120}
print(scores_dict.popitem())  # 输出('英语', 120)

5.9 setdefault()方法

setdefault() 方法也用于根据 key 来获取对应 value 的值。但该方法有一个额外的功能,即当程序要获取的 key 在字典中不存在时,该方法会先为这个不存在的 key 设置一个默认的 value,然后再返回该 key 对应的值。

scores_dict = {'语文': 105, '数学': 140, '英语': 120}
# 设置'语文'默认值为100
scores_dict.setdefault('语文', 100)
print(scores_dict)          # 输出{'语文': 105, '数学': 140, '英语': 120}
 
# 设置'历史'默认值为140
scores_dict.setdefault('历史', 140)
print(scores_dict)          # 输出{'语文': 105, '数学': 140, '英语': 120, '历史': 140}

5.10 fromkeys()方法

fromkeys() 方法使用给定的多个key创建字典,这些key对应的value默认都是None;也可以额外传入一个参数作为默认的value。该方法一般不会使用字典对象调用(没什么意义),通常会使用 dict 类直接调用。例如如下代码:

scores_dict = dict.fromkeys(['语文', '数学'])
print(scores_dict)  # 输出{'语文': None, '数学': None}
 
scores_dict = dict.fromkeys(('语文', '数学'))
print(scores_dict)  # 输出{'语文': None, '数学': None}
 
# 使用元组创建包含2个key的字典,指定默认的value
scores_dict = dict.fromkeys(('语文', '数学'), 100)
print(scores_dict)  # 输出{'语文': 100, '数学': 100}

5.11 len()方法

计算字典元素个数,即键的总数。

scores_dict = {'语文': 105, '数学': 140, '英语': 120}
print(len(scores_dict))  # 输出 3

5.12 str()方法

输出字典可打印的字符串

scores_dict = {'语文': 105, '数学': 140, '英语': 120}
print(str(scores_dict))  # 输出{'语文': 105, '数学': 140, '英语': 120}

5.13 type()方法

返回输入的变量类型,如果变量是字典就返回字典类型。

scores_dict = {'语文': 105, '数学': 140, '英语': 120}
print(type(scores_dict))  # 输出<class 'dict'>

6. Python字典的for循环遍历

6.1 遍历key的值

scores_dict = {'语文': 105, '数学': 140, '英语': 120}
for key in scores_dict:
print(key)
python字典遍历Key值

6.2  遍历value的值

scores_dict = {'语文': 105, '数学': 140, '英语': 120}
for value in scores_dict.values():
    print(value)
python字典遍历vlaue值

6.3 遍历字典键值对

scores_dict = {'语文': 105, '数学': 140, '英语': 120}
for key in scores_dict:
print(key + ":" + str(scores_dict[key]))    # 返回字符串
遍历字典
scores_dict = {'语文': 105, '数学': 140, '英语': 120}
for i in scores_dict.items():
print(i)    # 返回元组

遍历字典返回元组


scores_dict = {'语文': 105, '数学': 140, '英语': 120}
for key, value in scores_dict.items():
    print(key + ':' + str(value))
遍历字典键值对

7. Python字典视频教程

加QQ:435946716获取上面视频的全套资料【视频+笔记+源码】



猜你喜欢:

怎样修改和增加字典中的元素?

Python字典有哪些常见操作?

python中的字典如何使用?

Python下载和安装图文教程[超详细]【附赠19天全套Python视频教程】

黑马程序员Python+大数据开发课程

分享到:
在线咨询 我要报名
和我们在线交谈!