python如何检测字典的键中是否含有某串字符?

比如字典{‘1984/1/2’:123,‘1984/1/3’:0,‘1985/1/1:156’},想把所有键里包含‘1984’的值加到一起,应该怎么做呢?

1、说明
python中检测字典的键中是否含有某串字符,便利字典键值,再判断字符串是否在键值中即可。

2、示例代码:
# 定义一个字典
dic = {'1984/1/2': 123, '1984/1/3': 0, '1985/1/1': 156}
# 遍历字典键中是否包含1984
for key in dic:
    if '1984' in key:
        print('键值中包含字符串"1984"')
        # 或者需要的其它操作
    else:
        print('键值中不包含字符串"1984"')

3、执行结果:
键值中包含字符串"1984"
键值中不包含字符串"1984"
键值中包含字符串"1984"


4、其它说明:
python使用for in直接操作字典就是遍历字典的键值,python使用in操作来判断字符串中是否包含子串最方便,要优于使用字符串的函数index或者find。

index函数在找不到子串时会报错,find函数会返回-1。

温馨提示:内容为网友见解,仅供参考
第1个回答  2018-03-05
d = {'1984/1/2': 123, '1984/1/3': 0, '1985/1/1': 156}
sum1984 = sum([v for k, v in d.items() if k.startswith('1984')])

第2个回答  2016-06-13
DICT = {'1984/1/2':123, '1984/1/3':0, '1985/1/1':156}
SUM = 0
for i in DICT.keys():
    if '1984' in i:
        SUM += DICT[i]

本回答被提问者采纳
相似回答