我正在尝试使用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”。有更好的方法吗?
答案 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:]