str ='字符串'
new_D = {' r':1,':1,' t':1,' r' :3,'我' :4}
如何通过匹配'字母键'来获取分配给字典中值的字符串中的每个字母?然后总结一下这些值?
由于
答案 0 :(得分:1)
s = 'strings' #Don't name a variable str, that shadows the builtin str
new_D = {'r': 1, 's': 1, 't': 1, 'r' : 3, 'i' : 4 }
sum_of_chars = sum([newD.get(k,0) for k in s]) #assuming 0 as default for "not in dictionary"
这利用了以下事实:
for i in s: print(i)
会单独打印每个角色。.get(key[,default])
1,可以使用选项参数“如果密钥不存在,则返回此值。sum
。简洁既可以是美德也可以是恶习,但是,嘿,在你知道它们是什么之后,一个列表组合通常仍然具有可读性。答案 1 :(得分:0)
string = 'strings'
new_D = {'r': 1, 's': 1, 't': 1, 'r' : 3, 'i' : 4 }
sum_of_chars = 0
for character in string:
if character in new_D:
sum_of_chars += new_D[character]
else:
sum_of_chars += 1 # Default?
print(sum_of_chars)
顺便说一句,你不应该使用名称str,因为它会影响内置的str并且你的字典中存在错误。它包含两次入口r,没有意义。