python字典如下
{'ForceApplying': ['R - 1', 'R - 2', 'R - 3', 'R - 4', 'R - 5', 'R - 6', 'R - 7', 'R - 8', 'R - 9', 'R - 10', 'R - 11', 'R - 12', 'R - 13', 'R - 14'], 'SpinningTool': ['E - 4', 'E - 9', 'E - 14']}
有没有可能通过关键字索引,比如通过‘R - 1’ 索引到 ‘ForceApplying’
您好,功能已实现。
dict1 = {'ForceApplying': ['R - 1', 'R - 2', 'R - 3', 'R - 4', 'R - 5', 'R - 6', 'R - 7', 'R - 8', 'R - 9', 'R - 10', 'R - 11',
'R - 12', 'R - 13', 'R - 14'], 'SpinningTool': ['E - 4', 'E - 9', 'E - 14']}
x = 'R - 1'
for i, j in dict1.items():
if x in j:
print(i)
a = {'ForceApplying': ['R - 1', 'R - 2', 'R - 3', 'R - 4', 'R - 5', 'R - 6', 'R - 7', 'R - 8', 'R - 9', 'R - 10', 'R - 11', 'R - 12', 'R - 13', 'R - 14'], 'SpinningTool': ['E - 4', 'E - 9', 'E - 14']}
b = [ key for key in a if 'R - 1' in a[key]]
print(b)
如果查询需要很多次的话,你可以先构建一个反向的map,这样查询就会很快
将每一个键的列表里面的值作为一个新的键,原来的键作为值构建一个新的字典,就可以通过里面的值来所以原来的键了
target_map = {
'ForceApplying': ['R - 1', 'R - 2', 'R - 3', 'R - 4', 'R - 5', 'R - 6', 'R - 7', 'R - 8', 'R - 9', 'R - 10',
'R - 11', 'R - 12', 'R - 13', 'R - 14'], 'SpinningTool': ['E - 4', 'E - 9', 'E - 14']}
res_map = {}
keys = list(target_map.keys())
for i in keys:
temp_arr = target_map[i]
for t in temp_arr:
res_map[t] = i
target = "R - 1"
print(f"{target}对应的键是:{res_map[target]}")