必威体育Betway必威体育官网
当前位置:首页 > IT技术

说说如何快速为 Python 字典设置新的值

时间:2019-10-31 16:15:41来源:IT技术作者:seo实验室小编阅读:82次「手机版」
 

宝典库说说

假设有这样一个字典对象:

dict = {'evaporation': {'释义': '蒸发', '词性': 'n'},
        'carpenter': {'释义': '木匠', '词性': 'n'}}

常规做法通常是这样,即先验证 key 是否在字典中,如果不存在,则加入字典:

if 'future' not in dict:
    dict['future']={'释义': '未来', '词性': 'n'}

我们可以使用字典的 setdefault() 方法,直接实现上述功能:

dict.setdefault('future', {'释义': '未来', '词性': 'n'})

运行结果:

{‘evaporation’: {‘释义’: ‘蒸发’, ‘词性’: ‘n’}, ‘carpenter’: {‘释义’: ‘木匠’, ‘词性’: ‘n’}, ‘future’: {‘释义’: ‘未来’, ‘词性’: ‘n’}}

传递给 setdefault 方法的第一个参数是要检查的键。第二个参数是如果该键不存在需要设置的默认值。如果该键存在,该方法会直接返回键所对应的值:

carpenter = dict.setdefault('carpenter', '未收入本词典')
print('carpenter = ' + str(carpenter))

运行结果:

carpenter = {‘释义’: ‘木匠’, ‘词性’: ‘n’}

利用 setdefault 方法,我们可以很方便地统计出,一个字符串所拥有字符出现次数:

content = '美国国家航空航天局(NASA)局长吉姆·布莱登斯汀日前表示,如果对太空探索技术公司(SpaceX)载人“龙”飞船进行的测试结果是肯定的话,该公司的飞船将最早于明年把美国宇航员送往国际空间站。迄今为止,SpaceX从未将人类送入太空,一直运送的只有货物。'
count = {}
for char in content:
   count.setdefault(char, 0)
   count[char] = count[char] + 1
print(count)

运行结果:

{‘美’: 2, ‘国’: 4, ‘家’: 1, ‘航’: 3, ‘空’: 4, ‘天’: 1, ‘局’: 2, ‘(’: 2, ‘N’: 1, ‘A’: 2, ‘S’: 3, ‘)’: 2, ‘长’: 1, ‘吉’: 1, ‘姆’: 1, ‘·’: 1, ‘布’: 1, ‘莱’: 1, ‘登’: 1, ‘斯’: 1, ‘汀’: 1, ‘日’: 1, ‘前’: 1, ‘表’: 1, ‘示’: 1, ‘,’: 4, ‘如’: 1, ‘果’: 2, ‘对’: 1, ‘太’: 2, ‘探’: 1, ‘索’: 1, ‘技’: 1, ‘术’: 1, ‘公’: 2, ‘司’: 2, ‘p’: 2, ‘a’: 2, ‘c’: 2, ‘e’: 2, ‘X’: 2, ‘载’: 1, ‘人’: 2, ‘“’: 1, ‘龙’: 1, ‘”’: 1, ‘飞’: 2, ‘船’: 2, ‘进’: 1, ‘行’: 1, ‘的’: 4, ‘测’: 1, ‘试’: 1, ‘结’: 1, ‘是’: 1, ‘肯’: 1, ‘定’: 1, ‘话’: 1, ‘该’: 1, ‘将’: 2, ‘最’: 1, ‘早’: 1, ‘于’: 1, ‘明’: 1, ‘年’: 1, ‘把’: 1, ‘宇’: 1, ‘员’: 1, ‘送’: 3, ‘往’: 1, ‘际’: 1, ‘间’: 1, ‘站’: 1, ‘。’: 2, ‘迄’: 1, ‘今’: 1, ‘为’: 1, ‘止’: 1, ‘从’: 1, ‘未’: 1, ‘类’: 1, ‘入’: 1, ‘一’: 1, ‘直’: 1, ‘运’: 1, ‘只’: 1, ‘有’: 1, ‘货’: 1, ‘物’: 1}

文章最后发布于: 2019-10-13 11:27:25

相关阅读

Python金额大写转换

# 判断是否包含小数点,还有判断是否只包含小数点和数字的这边没写出来 def is_contain_dot(check_str): check_str = str(chec

字典制作工具-创建自己的密码字典文件

crunch简介 crunch是一款运行在linux中的字典生成工具,可以灵活的定制自己的密码字典文件。kali系统中默认安装有crunch工具  cr

wxpython+MySQL实现学生信息管理系统

初学者,仅供学习交流 Python学习两周时间了,这是我目前编写的比较满意的一个程序,有以下几个方面的经验总结:1.布局管理是可视化编程

用python计算直角三角形斜边长

直接上代码1 import math 2 def hypotenuse(a,b): 3 return(math.sqrt(a**2+b**2)) 4 side1 = int(input("第一条直角边:"))

【Python】ParserError: Error tokenizing data. C er

#执行语句报错如下 pd.read_csv(path) ParserError: Error tokenizing data. C error: Expected 13 fields in line 45, saw 23

分享到:

栏目导航

推荐阅读

热门阅读