Python中的多项字典

2024-03-29 13:08:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试在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”。有没有更好的办法?你知道吗


Tags: input字典abmbuppercodesfirstshipping
2条回答

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

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']

如果在所有情况下,字典中每个键的值列表中的第一个元素都是cost,其余元素始终是邮政编码,则可以使用以下方法:

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

相关问题 更多 >