我有以下词典。我想过滤它们以生成一个字符串作为输出。实现这一目标的最佳方法是什么?
uw = {
"name": ["uw1", "uw2", "uw3", "uw4"],
"code": [1135, 1134, 1133, 1132],
}
tp = {
"name": ["tp1", "tp2", "tp3", "tp4"],
"code": [1000, 1001, 1002, 1003]
}
uw_val = "uw3"
tp_val = "tp4"
输出
1133-1003
答案 0 :(得分:2)
您可以使用 zip
函数
d1 = dict(zip(uw['name'], uw['code']))
d2 = dict(zip(tp['name'], tp['code']))
print(f'{d1["uw3"]}-{d2["tp4"]}')
答案 1 :(得分:1)
使用 index() 并且如果使用 join 将数字转换为字符串
uw = {
"name": ["uw1", "uw2", "uw3", "uw4"],
"code": [1135, 1134, 1133, 1132],
}
tp = {
"name": ["tp1", "tp2", "tp3", "tp4"],
"code": [1000, 1001, 1002, 1003]
}
uw_val = "uw3"
tp_val = "tp4"
idx_uw=uw['name'].index(uw_val)
res_uw=uw['code'][idx_uw]
idx_tp=tp['name'].index(tp_val)
res_tp=tp['code'][idx_tp]
res=[str(res_uw),str(res_tp)]
print('-'.join(res))