在Python中有多个项目的字典

时间:2016-11-16 00:58:01

标签: python dictionary key

我正在尝试使用Python设置和访问包含多个键的字典。

#province, [shipping cost, valid postal codes]

provinceShipping = {"AB":[12,"A"],"BC":[12,"B"],"MB":[12,"M","L","K"]}

x = (input("province ")).upper()
y = (input("first letter of postal code ")).upper()
if x in provinceShipping:
access the cost and valid postal codes

基本上我想要做的是使用字典来包含省份,运费和有效的邮政编码。如何在费用后访问邮政编码?有些省份也有一个以上的有效邮政编码,例如上例中的“MB”。有更好的方法吗?

2 个答案:

答案 0 :(得分:1)

要获取所有项目的邮政编码,请执行以下操作:

for province, (shipping_cost, *postal_code) in provinceShipping.items():
    print('Province: ' ,province, 'Shipping Cost', shipping_cost, ' Postal Code: ', postal_code)

# prints:
Province:  MB Shipping Cost 12  Postal Code:  ['M', 'L', 'K']
Province:  BC Shipping Cost 12  Postal Code:  ['B']
Province:  AB Shipping Cost 12  Postal Code:  ['A']

对于某个特定省份,您可以这样做:

>>> provinceShipping['MB'][1:]   # For 'MB' province
['M', 'L', 'K']

答案 1 :(得分:1)

如果在所有情况下,字典中每个键的值列表中的第一个元素将是成本,其余的将始终是邮政编码,那么您可以使用此:

if x in provinceShipping:
    print "cost: " ,  provinceShipping[x][0]
    print "post codes: " , provinceShipping[x][1:]