python字典中的键可以是元组_python中的部分匹配字典键(元组)

你可以把字典重构成三重嵌套的dictdict= { ("foo", 4 , "q"): 9,

("foo", 4 , "r"): 8,

("foo", 8 , "s"): 7,

("bar", 15, "t"): 6,

("bar", 16, "u"): 5,

("baz", 23, "v"): 4

}

d = {}

for (a,b,c), value in dict.iteritems():

if a not in d:

d[a] = {}

if b not in d[a]:

d[a][b] = {}

d[a][b][c] = value

这里,d相当于:d = {

"foo": {

4:{

"q": 9,

"r": 8

},

8:{

"s": 7

}

},

"bar":{

15:{

"t": 6

}

16:{

"u": 5

}

},

"baz":{

23{

"v": 4

}

}

}

现在您可以很容易地遍历可能的第三个键,给定第一个和第二个键。#find all keys whose first two elements are "foo" and 4

a = "foo"

b = 4

for c in d[a][b].iterkeys():

print c

结果:q

r

这只适用于匹配第三个键。例如,给定第三个和第一个键,就无法找到所有第二个键。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值