如何使用包含键的部分字符串的字符串访问字典键?

时间:2019-01-22 07:54:29

标签: python dictionary set tuples

如果我有这样的密钥:ex_key = ('a','z')

如何为包含以上ex_key任一字符的字典键添加值?

例如,使用上面的键,我试图将值附加到字典中的键('a',)上。由于键('a',)包含ex_key的部分字符。由于('a','b')ex_key,因此('a','z')键不计算在内。

d = {('a', 'b'): {('a', 'b', 'c')}, ('a', 'b', 'c'): {('a', 'b', 'c')}, ('a',): {('u', 'm', 'c')}}**

预期:

{('a', 'b'): {('a', 'b', 'c')}, ('a', 'b', 'c'): {('a', 'b', 'c')}, **('a',): {('a','z'), ('u', 'm', 'c')}}**

2 个答案:

答案 0 :(得分:0)

这是一种方法。

例如:

ex_key = ('a','z')
d = {('a', 'b'): {('a', 'b', 'c')}, ('a', 'b', 'c'): {('a', 'b', 'c')}, ('a',): {('u', 'm', 'c')}}

if ex_key in d:
    d[ex_key].add(ex_key)
else:
    for k in ex_key:
        if (k,) in d:
            d[(k,)].add(ex_key)
print(d)

答案 1 :(得分:0)

尝试一下:

for k,v in d.items():
    if all(i in ex_key for i in k):
        d[k] = v.union({ex_key})