如何使用python的字典功能去完成如下功能?
发布网友
发布时间:2022-04-29 12:52
我来回答
共2个回答
懂视网
时间:2022-04-29 17:14
众所周知字典(dict)对象是 Python 最常用的数据结构,社区曾有人开玩笑地说:"Python企图用字典装载整个世界",字典在Python中的重要性不言而喻,这里整理了几个关于高效使用字典的清单,希望Python开发者可以在日常应用开发中合理利用,让代码更加 Pythonic。
1、用in关键字检查key是否存在(推荐学习:Python视频教程)
Python之禅中有一条开发哲学是:
There should be one-- and preferably only one --obvious way to do it.
尽量找一种,最好是唯一种显而易见的解决方案。Python2 中判断某个 key 是否存在字典中可使用 has_key 方法,另外一种方式是使用 in 关键字。但是强烈推荐使用后者,因为 in 的处理速度更快,另外一个原因是 has_key 这个方法在 Python3 被移除了,要想同时兼容py2和py3两个版本的代码,用 in 是最好的选择。
if 'name' in d:
pass
2、用 get 获取字典中的值
关于获取字典中的值,一种简单的方式就是用d[x]访问该元素,但是这种情况在 key 不存在的情况下会报 KeyError 错误,当然你可以先用 in 操作检查 key 是否在字典中再获取,不过这种方式不符合 Python 之禅中说的:
Simple is better than complex.Flat is better than nested.
好的代码应该是简单易懂的,扁平的代码结构更加可读。我们可以使用 get 方法来代替 if ... else
print(d.get("name", "default"))
3、用setdefault为字典中不存在的key设置缺省值
setdefault 的作用是:
如果 key 存在于字典中,那么直接返回对应的值,等效于 get 方法
如果 key 不存在字典中,则会用 setdefault 中的第二个参数作为该 key 的值,再返回该值。
更多Python相关技术文章,请访问Python教程栏目进行学习!
热心网友
时间:2022-04-29 14:22
import re
read_user_results(usr):
key_list = ['mark','comment']
f = open('result_file.txt','r')
#search user
while(True):
if not l: break
l = f.readline().replace('\n','')
if l == usr: break
d = {}
while(True):
if not l: break
l = f.readline().replace('\n','')
if l not in key_list: break
for k in key_list:
t = re.match(k+' (.*):(.*)',l).groups()
d[k] = dict(t)
return tuple(d.values())
dict在python中的用法
一、创建字典 在Python中,可以通过多种方式创建字典。最基本的方式是使用大括号{},并在其中插入键值对。每个键值对之间用冒号分隔,每对键值对之间用逗号分隔。例如:`my_dict = {'key1': 'value1', 'key2': 'value2'}`。二、访问字典中的元素 通过键来访问字典中的值。例如:`print`会输...
如何用python设计一个能实现添加、修改、删除、显示、退出等功能的小...
可以使用 Python 中的字典(dictionary)来实现一个简单的增删改查程序。具体实现步骤如下:创建一个空字典用于存储数据。通过循环菜单的方式,让用户可以选择添加、修改、删除、显示、退出等功能。根据用户的选择执行相应的操作,例如添加数据就让用户输入键值对,修改数据就让用户选择要修改的键和新值,删除...
python中已知一个字符串中存放了若干用空格分隔的单词,统计每个单词...
可以使用Python中的字典(dictionary)来统计每个单词出现的次数。具体实现如下:text = "This is a sample text with several words and repeated words"word_list = text.split() # 将字符串按照空格分隔成单词列表 word_count = {} # 定义一个空字典,用于存储每个单词出现的次数 for word in...
Python字典(Dictionary) 在数据分析中的操作
在合并字典方面,直接合并两个字典确实可行,但结构顺序的控制则可能较为困难,需要进一步的重组操作。分解字典后,可以更灵活地进行后续整合。接着,我们考虑直接固定字典格式并填充内容的方法。这种方法适用于预先知道数据结构的情况,能够实现高效的数据填充与存储。编程中,虽然解决同一问题可能有多种方法,...
python怎么对字典进行排序
1. 按照字典值降序排序:如果你需要将字典'dic',如{'a':31, 'bc':5, 'c':3, 'asd':4, 'aa':74, 'd':0},按照值的大小从大到小排序,可以使用以下代码:dict = sorted(dic.items(), key=lambda d: d[1], reverse=True)这将返回排序后的列表,如[('aa', 74), ('a', 31...
用Python怎么统计一个列表的元素种类和各个种类的个数?
方法一:使用字典 1. 创建一个空字典,用于存储元素及其出现的次数。2. 遍历列表中的每个元素。3. 对于每个元素,检查它是否已在字典中:- 如果是,将它的计数增加1。- 如果不是,将其添加到字典中,并设置计数为1。```python items = ["cc", "ct", "ct", "ac", "ac"]count = {} fo...
python中的字典实现switch功能
+ y, '-': lambda x, y: x - y, '*': lambda x, y: x * y, '/': lambda x, y: x / y,}x = raw_input("输入第一个数字: ")z = raw_input("输入运算符: ")y = raw_input("输入第二个数字: ")print "=", result.get(z)(int(x), int(y))...
Python输入全班30名学生的姓名和成绩,输出其中的最高分和最低分,并求...
结论:在Python编程中,我们可以轻松实现获取全班学生姓名和成绩,找出最高分和最低分,以及计算平均分的功能。首先,让我们通过字典数据结构来存储这些信息。首先,打开Python交互模式,输入`python`命令启动。接着,定义一个空的字典,用于存储学生的姓名和成绩,可以使用`scores={}`。这将允许我们通过...
如何在Python中遍历字典并删除元素
首先,理解基础操作:遍历字典时,使用items()函数同时遍历键值对,如data = {'name': 'Alice', 'age': 30, 'city': 'New York', 'job': 'Engineer'} 删除元素时,避免在遍历过程中修改字典,以防RuntimeError。方法一,使用字典推导式,如filtered_data = {k: v for k, v in data....
Python字典常见的增加、删除、修改操作方法 和 使用步骤
删除操作有两种方式:一是使用del()或del语句,可以删除整个字典或指定键值对。删除字典时,如果键不存在会抛出异常。二是clear()方法,用于清空字典中的所有数据。至于修改数据,同样使用写法:字典序列[key] = 新值。这里,如果键已存在,就更新值;如果不存在,就相当于新增键值对。总的来说,Python...