鱼C论坛

 找回密码
 立即注册
查看: 1075|回复: 2

[已解决]大小写key合并求解释

[复制链接]
发表于 2018-11-29 15:56:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
mcase = {'a': 10, 'b': 34, 'A': 7, 'Z': 3}
mcase_frequency = {
    k.lower(): mcase.get(k.lower(), 0) + mcase.get(k.upper(), 0)
    for k in mcase.keys()
    if k.lower() in ['a','b']
}
print mcase_frequency
#  Output: {'a': 17, 'b': 34}
最佳答案
2018-11-29 16:52:06
k.lower()的意思就是将k这个字符串所有的字母小写化,比方说k=‘agdWcfA’,k.lower()后就变成你了‘agdwcfa’
for k in mcase.keys()是说的对mcase这个字典的键进行遍历循环。
所以for k in mcase.keys()
    if k.lower() in ['a','b']连起来就是对这个字典进行遍历循环,如果这个字典的键的小写属于a或b的一种就取出,这里能取得就是a,b,A
至于mcase.get(k.lower(),0)的意思就是如果一个字典能找到这个键那么就是对应的这个值,如果找不到相应的键那么就是0,比方说dic={'i':5} 如果是dic.get('i',0)那么返回的值是5,如果dic.get('d',0)那么返回的就是0,其他的你应该看得懂,建议楼主多看一下小甲鱼的课程
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-11-29 16:02:16 | 显示全部楼层
本帖最后由 塔利班 于 2018-11-29 16:04 编辑

mcase_frequency = {                                                                                           这里是用了字典生成式{k:v}这种
    k.lower(): mcase.get(k.lower(), 0) + mcase.get(k.upper(), 0)                                 这里k键值就是k.lower()用小写做键值,v值是字典统计大小写之和  ,0是缺省参数,如果mcase没有这个键值,就按0算
    for k in mcase.keys()                                                                                          for循环确定k范围
    if k.lower() in ['a','b']                                                                                        if进行筛选  最后要求键值只在'a','b'里取
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-11-29 16:52:06 | 显示全部楼层    本楼为最佳答案   
k.lower()的意思就是将k这个字符串所有的字母小写化,比方说k=‘agdWcfA’,k.lower()后就变成你了‘agdwcfa’
for k in mcase.keys()是说的对mcase这个字典的键进行遍历循环。
所以for k in mcase.keys()
    if k.lower() in ['a','b']连起来就是对这个字典进行遍历循环,如果这个字典的键的小写属于a或b的一种就取出,这里能取得就是a,b,A
至于mcase.get(k.lower(),0)的意思就是如果一个字典能找到这个键那么就是对应的这个值,如果找不到相应的键那么就是0,比方说dic={'i':5} 如果是dic.get('i',0)那么返回的值是5,如果dic.get('d',0)那么返回的就是0,其他的你应该看得懂,建议楼主多看一下小甲鱼的课程
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-23 01:15

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表