当前位置:首页>python>Python基础(八)之数值类型字典

Python基础(八)之数值类型字典

  • 2026-09-10 08:18:10
Python基础(八)之数值类型字典

Python基础(八)之数值类型字典

1、简介

字典(dict),Dictionary:是一种可变类型,可以存储任意类型的元素,如列表、字符串、元组等。

  • 字典是无序的,所以不支持索引和切片。
  • 字典以键值对(key:value)方式存在,可以通过键来访问值。
  • 字典的键key不可以重复,否则只会保留一个,键key可以是任意的数据类型,但不会出现可变的数据类型,保证key的唯一。值value可以重复。

2、创建

  • dict = dict() 创建一个空字典
  • dict = {} 创建一个空字典
  • dict = {key1: value1, key2: value2, key3: value3} 创建一个非空的字典
# 创建空字典s_dict_empty = {}# 区分与集合 空集合只能使用set()函数创建s_dict_empty1 = dict()# 创建非空字典s_dict = {1:'hello', 2:'Python'}

3、字典新增

  • dict[key] = value 将key-value的键值对添加到字典中
# 创建字典s_dict = dict()# 给字典添加元素s_dict['one'] = 'Hello'print('打印字典s_dict=', s_dict)# 打印字典s_dict= {'one': 'Hello'}

4、删除字典del

  • del dict 删除字典
s_dict = {1: 'hello', 2: 'Python', 3: 666}print('删除前的字典s_dict=', s_dict)del s_dict[3]# 删除字典中key=3的数据print('删除后的字典s_dict=', s_dict)'''删除前的字典s_dict= {1: 'hello', 2: 'Python', 3: 666}删除后的字典s_dict= {1: 'hello', 2: 'Python'}'''

5、查找字典元素

  • dict[key] = value 通过key可以获取到对应的值
s_dict = {1: 'hello', 2: 'Python', 3: 666}print('查找key=2的数据:', s_dict[2])# 查找key=2的数据: Python

6、清空字典 clear

  • dict.clear() 清空字典
s_dict = {1: 'hello', 2: 'Python', 3: 666}print('清空前的字典s_dict=', s_dict)s_dict.clear()print('清空后的字典s_dict=', s_dict)'''清空前的字典s_dict= {1: 'hello', 2: 'Python', 3: 666}清空后的字典s_dict= {}'''

7、 获取字典长度len

  • len(dict) 获取字典的长度
s_dict = {1: 'hello', 2: 'Python', 3: 666}print('s_dict的长度为:', len(s_dict))# s_dict的长度为: 3

8、获取字典的所有键key

  • dict.kyes() 获取字典中的所有键
# s_dict.keys() 获取字典的所有keys_dict = {1: 'hello', 2: 'Python', 3: 666}print('s_dict的所有key为:', s_dict.keys())# s_dict的所有key为: dict_keys([1, 2, 3])s_dict_keys = s_dict.keys()print('获取字典所有key的s_dict_keys的类型为:', type(s_dict_keys))# 获取字典所有key的s_dict_keys的类型为: s_list = list(s_dict_keys)print('s_list= ', s_list)# s_list= [1, 2, 3]# 打印s_dict字典的所有键值对,并且将key=2的value修改为'修改一下Python'for el in s_list: print('key=', el, ',value=', s_dict[el]) if el == 2: s_dict[el] = '修改一下Python'print('修改字典后的字典为:')for el in s_list: print('key=', el, ',value=', s_dict[el])'''key= 1 ,value= hellokey= 2 ,value= Pythonkey= 3 ,value= 666修改字典后的字典为:key= 1 ,value= hellokey= 2 ,value= 修改一下Pythonkey= 3 ,value= 666'''

9、获取字典的所有值value

  • dict.values() 获取字典中的所有值
s_dict = {1: 'hello', 2: 'Python', 3: 666}s_dict_values = s_dict.values()print('s_dict字典中的所有值:', s_dict_values)# s_dict字典中的所有值: dict_values(['hello', 'Python', 666])print('s_dict_values的类型为:', type(s_dict_values))# s_dict_values的类型为:

10、获取字典中所有的键值对

  • dict.items() 获取字典中的所有键值对
s_dict = {1: 'hello', 2: 'Python', 3: 666}print('获取字典s_dict的所有键值对:', s_dict.items())# 获取字典s_dict的所有键值对: dict_items([(1, 'hello'), (2, 'Python'), (3, 666)])for el in s_dict.items(): print(type(el))#  # 将每个键值对的元组取出来 for tupl in el: print(tupl)'''1hello2Python3666'''

11、判断字典中是否包含元素

  • 使用in 或者 not in 判断元素是否在字典中, 但只能判断键key是否包含,不能判断值value是否在字典中存在
s_dict = {1: 'hello', 2: 'Python', 3: 666}print('判断s_dict中是否包含hello : ','hello' in s_dict)# Falseprint('判断s_dict中是否包含2 : ',2 in s_dict)# True

12、字典函数setdefault()

  • 若key存在,则返回对应的value,不会将新设置的value返回
  • 若key不存在,且字典中没有对应的value,则返回None,并且将新设置的value存到字典中key对应的value
  • 若key不存在,但新设置了value,则会返回新设置的value,并且将key-value存到字典中
s_dict = {1: 'hello', 2: 'Python', 3: 666}print('存在key和value时:', s_dict.setdefault(2))print(s_dict)print('存在key和value,并且设置了新的value时:', s_dict.setdefault(2,'newValue'))print(s_dict)print('存在key,但不存在value时:', s_dict.setdefault(4))print(s_dict)print('存在key,但不存在value,且设置了新的value时:', s_dict.setdefault(4,'newValue4'))print(s_dict)s_dict_empty = {}print('不存在key,也不存在value时:', s_dict_empty.setdefault(5))print(s_dict_empty)print('不存在key,也不存在value,但设置了新的value时:', s_dict_empty.setdefault(5, 'newValue5'))print(s_dict_empty)

13、字典函数get()

  • 若key存在,则返回对应的value,不会将新设置的value返回
  • 若key不存在,且字典中没有对应的value,则返回None,并且新设置的value不存到字典中key对应的value
  • 若key不存在,但新设置了value,则会返回新设置的value,并且key-value不会存到字典中
s_dict = {1: 'hello', 2: 'Python', 3: 666}print('存在key和value时:', s_dict.get(2))print(s_dict)print('存在key和value,并且设置了新的value时:', s_dict.get(2,'newValue'))print(s_dict)print('存在key,但不存在value时:', s_dict.get(4))print(s_dict)print('存在key,但不存在value,且设置了新的value时:', s_dict.get(4,'newValue4'))print(s_dict)s_dict_empty = {}print('不存在key,也不存在value时:', s_dict_empty.get(5))print(s_dict_empty)print('不存在key,也不存在value,但设置了新的value时:', s_dict_empty.get(5, 'newValue5'))print(s_dict_empty)

最新文章

随机文章