一文看懂Python字典类型数据常见操作及排序【工作面试必读】

本文详细介绍了Python字典的创建、访问、遍历、添加、删除等基本操作,以及如何对字典进行排序。还讨论了字典列表的排序和去重方法,提供了一些实用的代码示例,适合Python初学者和面试准备。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Python的字典(dictionary)是一种灵活的数据结构类型,字典的每个键值对(key=>value)用冒号(:)分割,每个对之间用逗号(,)分割。Python字典里的键必须独一无二,但值则不必的。字典的值可以取任何数据类型,但必须是不可变的(unhashable),如字符串,元组或数值, 用列表是不行的。本文教你一文看懂Python字典类型数据常见操作和排序。

 

字典的创建

 

字典的创建主要有2种方法: 直接赋值和根据键赋值。下例中分别使用2种方法创建了字典d1和字典d2。

>>> d1 = {
  
  'key3': 4, 'key2': 5, 'key1': 4}
>>> print(d1)
{
  
  'key3': 4, 'key2': 5, 'key1': 4, }
>>> d2 = dict()
>>> d2['key5']=1
>>> print(d2)
{
  
  'key5': 1}

 

访问字典的键与值

 

你可以直接根据dict['键名']获取一个值,也可以通过dict.keys()获取所有的键或者dict.values()获取所有的值。但需要注意的是dict.keys()或dict.values()返回的并非列表,你需要使用list方法才能将所有的键和值转化为列表形式。

>>> d1 = {
   
   'key3': 4, 'key2': 5, 'key1': 4}
>>> print(d1['key3'])
4
>>> print(d1.keys())
dict_keys(['key3', 'key2', 'key1'])
>>> print(list(d1.keys()))
['key3', 'key2', 'key1']
>>> print(list(d1.values()))
[4, 5, 4]

注意: 当你尝试用一个不存在的键获取值时会出现KeyError,一个更好的习惯是在获取值前先使用if key in dict来判断一个键是否已经存在。

>>> print(d1['key6'])
Traceback (most recent call last):
  File "<input>", line 1, in <module>
KeyError: 'key6'
>>> print('key6' in d1)
False

 

遍历字典

使用for key, value in dict.items()可以遍历整个字典。如果你只喜欢遍历键名或值,你可以只使用for key in dict.keys()或 for value in dict.values()

for key, value in d1.items():
    print("{}->{}".format(key, value))

for key in d1.keys():
    print(key)

for value in d1.values():
    print(value)

 

字典数据的添加

 

字典与列表一样都是可变类型的数据,所以可以实现数据的添加和修改。实现的方法主要有两种:1是创建新的键名并赋值,2是使用update方法。dict自带的update方法非常有用,不仅可以插入新的键值对,还是实现两个字典合并的首选方法。

>>> print(d1)
{
  
  'key3': 4, 'key2': 5, 'key1': 4}
>>> d1.update({
  
  'key4':2})
>>> print(d1)
{
  
  'key3': 4, 'key2': 5, 'key1': 4, 'key4': 2}
>>> d1[
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值