繁体   English   中英

Python中包含多个项目的字典

[英]Dictionary with multiple items in 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”。 有一个更好的方法吗?

为了获取所有物品的邮政编码,请执行以下操作:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM