Python:如何过滤多个列表字典?

时间:2021-04-28 15:34:18

标签: python dictionary

我有以下词典。我想过滤它们以生成一个字符串作为输出。实现这一目标的最佳方法是什么?

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

2 个答案:

答案 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))