欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Python 字典详解

程序员文章站 2022-04-11 23:14:37
目录什么是字典?字典在 python 中是一个无序的数据集合,字典使用键值对进行存储。dict = {'key':'value'}创建字典 直接赋值,使用花括号 { } 使用 dict函数...

什么是字典?

字典在 python 中是一个无序的数据集合,字典使用键值对进行存储。

dict = {'key':'value'}

创建字典

  • 直接赋值,使用花括号 { }
  • 使用 dict函数 创建空字典

1. 直接赋值

dict = {'赏善司': '魏征', '罚恶司': '钟馗', '察查司': '陆之道', '阴律司': '崔珏'}
print(dict)
print(type(dict))
 
>>> {'赏善司': '魏征', '罚恶司': '钟馗', '察查司': '陆之道', '阴律司': '崔珏'}
>>> <class 'dict'>

2. 使用 dict()函数创建空字典

dict = dict()
print(dict)
print(type(dict))
 
>>> {}
>>> <class 'dict'>

3. 获取字典元素

dict = {'赏善司': '魏征', '罚恶司': '钟馗', '察查司': '陆之道', '阴律司': '崔珏'}
print(dict['察查司'])
 
>>> 陆之道

4. 唯一的键,如果字典中有俩个或多个相同的键,默认取最后一个

dict = {'赏善司': '魏征', '罚恶司': '钟馗', '察查司': '陆之道', '阴律司': '崔珏', '罚恶司': '李鬼'}
print(dict['罚恶司'])
 
>>> 李鬼

小结:

  • 字典由键(key)和值(value)组成。
  • 创建可以使用花括号,也可以使用 dict 函数,元素之间用逗号隔开,键值之间使用冒号隔开。
  • 注:键(key)必须是不可变类型,比如数字,字符串,而值(value)随意。
  • 字典元素使用键(key)来获取。
  • 键是唯一的,尽量不要相同。

字典的增

dict[键] = '值'
dict = {'赏善司': '魏征', '罚恶司': '钟馗', '察查司': '陆之道', '阴律司': '崔珏'}
dict['居民'] = '绘梦狮'
print(dict)
 
>>> {'赏善司': '魏征', '罚恶司': '钟馗', '察查司': '陆之道', '阴律司': '崔珏', '居民': '绘梦狮'}

字典的改 

方法 描述
直接修改 直接修改,方法跟增差不多
update 将字典元素添加到另一个字典中,如果被添加字典已有该元素则修改,否则增加
dict[键] = '值'
dict = {'赏善司': '魏征', '罚恶司': '钟馗', '察查司': '陆之道', '阴律司': '崔珏'}
# 如果字典中已存在该键则修改对应的值,否则增加
dict['罚恶司'] = '绘梦狮'
print(dict)
 
>>> {'赏善司': '魏征', '罚恶司': '绘梦狮', '察查司': '陆之道', '阴律司': '崔珏'}

2. 使用 update 方

dict = {'赏善司': '魏征', '罚恶司': '钟馗', '察查司': '陆之道', '阴律司': '崔珏'}
dict2 = {'天师': '钟馗', '罚恶司': '天师钟馗'}
dict.update(dict2)
print(dict)
 
>>> {'赏善司': '魏征', '罚恶司': '天师钟馗', '察查司': '陆之道', '阴律司': '崔珏', '天师': '钟馗'}

字典的删

方法 描述
del 删除某个元素,或删除整个字典
pop 删除某个元素
popitme 删除字典中最后一个元素
clear 清空字典

1. del 方法

dict = {'赏善司': '魏征', '罚恶司': '钟馗', '察查司': '陆之道', '阴律司': '崔珏'}
# 删除某个元素根据键
del dict['罚恶司']
 
# 删除整个字典
# del dict
 
print(dict)
 
>>> {'赏善司': '魏征', '察查司': '陆之道', '阴律司': '崔珏'}

2. pop 方法

dict = {'赏善司': '魏征', '罚恶司': '钟馗', '察查司': '陆之道', '阴律司': '崔珏'}
dict.pop('赏善司')
print(dict)
 
>>> {'罚恶司': '钟馗', '察查司': '陆之道', '阴律司': '崔珏'}

3. popitme 方法

dict = {'赏善司': '魏征', '罚恶司': '钟馗', '察查司': '陆之道', '阴律司': '崔珏'}
dict.popitem()
print(dict)
 
>>> {'赏善司': '魏征', '罚恶司': '钟馗', '察查司': '陆之道'}

4. clear 方法

dict = {'赏善司': '魏征', '罚恶司': '钟馗', '察查司': '陆之道', '阴律司': '崔珏'}
dict.clear()
print(dict)
 
# 因为字典被清空了
>>> {}

字典的查

方法 描述
in 判断元素是否在字典中,返回值为 bool
not in 与 in 相反

因为这是通用方法,前面已经说了很多次,现在就跳过了。

字典取值

方法 描述
keys

获取字典中的键,返回一个迭代

values 获取字典中的值,返回一个迭代
items 获取字典的键值,返回一个迭代

1. keys 方法

dict = {'赏善司': '魏征', '罚恶司': '钟馗', '察查司': '陆之道', '阴律司': '崔珏'}
key = dict.keys()
print(key)
 
# 对于迭代对象我们可以遍历它,或者将它转化为列表进行操作
>>> dict_keys(['赏善司', '罚恶司', '察查司', '阴律司'])

2. values 方法

dict = {'赏善司': '魏征', '罚恶司': '钟馗', '察查司': '陆之道', '阴律司': '崔珏'}
value = dict.values()
print(value)
 
# 对于迭代对象我们可以遍历它,或者将它转化为列表进行操作
>>> dict_values(['魏征', '钟馗', '陆之道', '崔珏'])

3. items 方法

dict = {'赏善司': '魏征', '罚恶司': '钟馗', '察查司': '陆之道', '阴律司': '崔珏'}
item = dict.items()
print(item)
 
# 对于迭代对象我们可以遍历它,或者将它转化为列表进行操作
>>> dict_items([('赏善司', '魏征'), ('罚恶司', '钟馗'), ('察查司', '陆之道'), ('阴律司', '崔珏')])

字典复制

 老样子使用 copy 函数

dict = {'赏善司': '魏征', '罚恶司': '钟馗', '察查司': '陆之道', '阴律司': '崔珏'}
copy_dict = dict.copy()
dict.clear()
print(dict)
print(copy_dict)
 
>>> {}  
>>> {'赏善司': '魏征', '罚恶司': '钟馗', '察查司': '陆之道', '阴律司': '崔珏'}

遍历字典

  • 遍历 key
  • 遍历 value
  • 遍历 item
  • 遍历 key - value

1. 遍历 key

dict = {'赏善司': '魏征', '罚恶司': '钟馗', '察查司': '陆之道', '阴律司': '崔珏'}
for i in dict.keys():
    print(i)
 
 
>>> 赏善司
    罚恶司
    察查司
    阴律司

2. 遍历 value

dict = {'赏善司': '魏征', '罚恶司': '钟馗', '察查司': '陆之道', '阴律司': '崔珏'}
for i in dict.values():
    print(i)
 
>>> 魏征
    钟馗
    陆之道
    崔珏

3. 遍历 item

dict = {'赏善司': '魏征', '罚恶司': '钟馗', '察查司': '陆之道', '阴律司': '崔珏'}
for i in dict.items():
    print(i)
 
>>> ('赏善司', '魏征')
    ('罚恶司', '钟馗')
    ('察查司', '陆之道')
    ('阴律司', '崔珏')

4. 遍历 key与 value

dict = {'赏善司': '魏征', '罚恶司': '钟馗', '察查司': '陆之道', '阴律司': '崔珏'}
for key, value in dict.items():
    print(key, value)
 
>>> 赏善司 魏征
    罚恶司 钟馗
    察查司 陆之道
    阴律司 崔珏

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注的更多内容!