每日简算---字典(2)

本文详细介绍了如何在Python中实现字典的基本操作,包括插入、查找、删除和更新键值对,以及使用get()方法处理键不存在的情况。通过这些操作,提升编程技能和理解字典数据结构的应用。
摘要由CSDN通过智能技术生成

在日常生活和工作中,我们经常需要设计和实现各种算法来解决实际问题。今天,我们将讨论一个与字典相关的算法题目。字典是一种重要的数据结构,用于存储键值对,并提供快速查找的功能。本题将考察如何实现一个简单的字典,并实现其中的基本操作,例如插入、查找、删除和更新。通过解决这个问题,我们不仅可以加深对字典数据结构的理解,还能提高编程技能,为日后解决类似问题打下基础。让我们开始吧!

1:每日简法

算法题目:

给出一个词典,请你查找一个词的意思。

第一行是一个非负整数N,代表词典的大小,N可能等于0
接下来N行是N个词典项,由单词和释义组成,单词和释义之间以空格分开,单词和释义的内部没有空格
最后一行是一个待查找的单词

提示

记得判断key是否存在

代码展示:

'''填写与增加字典内容'''
n = int(input())
dic = {}
for i in range(n):
    a = list(input().split(" "))
    dic[a[0]] = a[1]
print(dic)

'''查询字典'''
find = str(input())
if find in dic:
    print(dic[find])
else:
    print("key未存在或用户输入key错误")

解题思路:

  1. 填写与增加字典内容:首先,读取输入的非负整数N,表示词典的大小。然后,使用for循环遍历N次,每次读取一行输入,将其以空格分割成单词和释义,并将单词作为键,释义作为值,添加到字典dic中。
  2. 查询字典:读取待查找的单词,并通过if条件语句检查该单词是否存在于字典dic中。如果存在,则打印对应的释义;如果不存在,则打印提示信息表示该单词未存在于词典中或用户输入错误。

这个算法实现了根据用户输入的单词在词典中查找对应释义的功能。

2:进阶讲解字典各个功能:

 2.1字典中的“增”功能

        当我们解决上述简单的算法题时,会对字典中的“增加”功能有所了解。需要注意的一点是,字典中的每个键(key)都是唯一的。在一个字典中,不能同时存在两个相同的键。如果尝试使用相同的键向字典中添加新的键值对,后面的键值对会覆盖前面的键值对。

2.1.1空字典中增值与内容

'''填写与增加字典内容'''
n = int(input())
dic = {}
for i in range(n):
    a = list(input().split(" "))
    dic[a[0]] = a[1]
print(dic)

2.1.2向字典添加新内容

'''在已有的字典增加新的内容(可做判断原字典是否存在新增加的key相同的情况)'''
dic3 = {'a': 1, 'b': 2, 'c': 3,'d':4}
print("输入想要新增的key值")
key1 = str(input())
if key1 in dic3:
    print("增加不成功,原字典已存在该key值")
else:
    print("输入想要新增的内容")
    item1 = str(input())
    dic3[key1] = item1
    print(dic3)

2.1.3合并字典

'''和并字典'''
dic1 = {'apple': '水果', 'banana': '水果', 'apple': '苹果公司'}
dic2 = {'a': 1, 'b': 2, 'c': 3}
dic1.update(dic2)
print(dic1)

2.2字典中的“删”功能

        字典中的“删”功能指的是从字典中删除特定键值对的操作。要删除字典中的键值对,可以使用del关键字或者pop()方法或者clear()一键清除法。

2.2.1del与pop在字典中的用法区别讲解

del关键字或者pop()方法的区别文字讲解:

  • 使用del关键字可以通过指定键来删除字典中的键值对。例如,del dictionary[key]将会删除字典dictionary中键为key的键值对。

  • 使用pop()方法可以删除指定键,并返回相应的值。例如,value = dictionary.pop(key)将会删除字典dictionary中键为key的键值对,并将对应的值赋给value

需要注意的是,如果删除的键不存在于字典中,会引发KeyError异常。因此,在执行删除操作之前,最好先检查该键是否存在于字典中,或者使用异常处理机制来处理可能出现的异常情况。

以下是一个示例代码,展示了如何使用delpop()来删除字典中的键值对:

dictionary = {'apple': '苹果', 'banana': '香蕉', 'orange': '橙子'}

# 使用del关键字删除指定键值对
del dictionary['banana']
print(dictionary)  # 输出: {'apple': '苹果', 'orange': '橙子'}

# 使用pop()方法删除指定键值对
value = dictionary.pop('orange')
print(dictionary)  # 输出: {'apple': '苹果'}
print(value)  # 输出: 橙子

上述代码首先使用del关键字删除了键为'banana'的键值对,然后使用pop()方法删除了键为'orange'的键值对,并将其对应的值赋给了变量value

2.2.2clera在字典作用

clera可以让字典内容一键回归原始

dic3 = {'a': 1, 'b': 2, 'c': 3,'d':4}
dic3.clear()
print(dic3) #输出{}

2.3字典中的“改”功能

        字典中的“改”功能是指对已有键对应的值进行更新或修改的操作。在Python中,可以通过直接赋值的方式或者使用update()方法来实现修改字典中键对应的值。需要注意的是,如果要更新的键不存在于字典中,直接赋值会添加新的键值对;而使用update()方法则只会更新已存在的键对应的值,不会添加新的键值对。

2.3.1直接赋值法

         直接赋值: 可以直接通过键来访问字典中的值,并将其更新为新的值。例如,dictionary[key] = new_value会将字典dictionary中键为key的值更新为new_value

dictionary = {'apple': '苹果', 'banana': '香蕉', 'orange': '橙子'}

# 使用直接赋值更新键对应的值
dictionary['apple'] = '红苹果'
print(dictionary)  # 输出: {'apple': '红苹果', 'banana': '香蕉', 'orange': '橙子'}

根据“删”功能的讲解,使用pop()删除可以保留value值,结合直接赋值法可以对字典的键去进行一个替换。 

dictionary = {'apple': '苹果', 'banana': '香蕉', 'orange': '橙子'}
print("填写原字典中需要修改的key")
p1 = str(input()) # 输入apple
print("填写修改新key值")
p2 = str(input()) # 输入 apples
# 删除旧键,并获取其对应的值
value = dictionary.pop(p1)
# 添加新键和值对到字典中
dictionary[p2] = value
print(dictionary) # 输出{'banana': '香蕉', 'orange': '橙子', 'apples': '苹果'}

2.3.2update()方法 

使用update()方法: 可以通过update()方法来一次性更新多个键对应的值。该方法接受一个字典作为参数,其中包含要更新的键值对。如果字典中已存在相同的键,则会将其对应的值更新为新字典中的值;如果字典中不存在某个键,则会将该键值对添加到字典中。

# 使用update()方法更新多个键对应的值
new_values = {'banana': '甜香蕉', 'orange': '橙色果子'}
dictionary.update(new_values)
print(dictionary)  # 输出: {'apple': '红苹果', 'banana': '甜香蕉', 'orange': '橙色果子'}

2.4字典中的“查”功能

在Python中,字典(dictionary)是一种无序的数据集合,其中的每个元素都由一个键(key)和一个对应的值(value)组成。字典中的“查”功能是指根据给定的键来获取对应的值。由于字典是基于哈希表实现的,因此查找操作的时间复杂度为 O(1),即使字典中存储了大量的键值对,查找操作的速度也非常快。

2.4.1直接访问键对应的值

通过使用方括号([])和键来访问字典中对应的值。例如,dictionary[key]将返回字典dictionary中键为key对应的值。

# 创建一个字典
dictionary = {'apple': '苹果', 'banana': '香蕉', 'orange': '橙子'}

# 直接访问键对应的值
print(dictionary['apple'])  # 输出: 苹果
print(dictionary['apples']) # 报错

#避免报错
find = str(input()) # 1.输入:apple 2.输入:apples
if find in dictionary:
    print(dic[find]) # 1.输出:苹果
else:
    print("key未存在或用户输入key错误") # 2.输出:key未存在或用户输入key错误

2.4.2使用get()方法

get()方法可以根据指定的键来获取对应的值。如果键存在于字典中,则返回对应的值;如果键不存在,则返回默认值(如果指定了默认值的话),或者返回None。这种方法在键可能不存在时可以避免引发KeyError异常。

# 创建一个字典
dictionary = {'apple': '苹果', 'banana': '香蕉', 'orange': '橙子'}

# 使用get()方法
print(dictionary.get('banana'))  # 输出: 香蕉
print(dictionary.get('grape'))   # 输出: None,因为'grape'键不存在于字典中
print(dictionary.get('grape', '未找到'))  # 输出: 未找到,使用指定的默认值

结语:

在总结本文时,我们深入探讨了Python中字典的“增、删、改、查”四大基本功能,以及相应的操作方法。字典作为一种灵活且高效的数据结构,在实际编程中扮演着重要的角色。通过本文的介绍,读者不仅了解了如何向字典中添加新的键值对、删除已有的键值对、修改键对应的值,还学会了如何通过键来快速查找对应的值。

除了本文提到的基本功能外,Python的字典还有许多其他强大的功能和方法,如字典的遍历、合并字典、获取键、值或键值对等。因此,深入学习和掌握字典的使用方法,将有助于提高编程效率和代码的可读性。

在实际项目中,合理地运用字典,可以简化代码逻辑、提高程序的执行效率,并且使得数据的管理更加方便和灵活。因此,建议读者在日常编程中多加练习,不断探索字典的更多用法和应用场景,从而在Python编程的路上走得更远。

希望本文能够对读者有所帮助,如果您有任何问题或建议,欢迎在下方留言,我们将竭诚为您解答。感谢您的阅读!

  • 30
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值