我有以下代码:
def car(userid):
return "Car: %s!" % car_models.get(userid, 'This car model does not exist in the database.')
car_models = {
382: "Onix - Model 2018",
950: "HB20 - Model 2018",
590: "Citroen - Model 2016",
}我可以通过以下方式提取信息:
>>> car(382)
'Car: Onix - Model 2018!'然而,我想以这样的方式提取信息:
cars = {'Chevrolet':{'Onix':'Model 2018',
'Selta':'Model 2017'},
'Ford':{'Fusion':'Model 2009',
'Ranger':'Model 2015'}}我想以这样的方式提取信息:
>> car(Onix)
'Car: Onix - Model 2018!'我承认我试过很多东西,但我打不了。
发布于 2018-04-04 02:03:57
具有字符串键的字典是作为哈希列表存储的。所以你的字典把Onix存储在Chevrolet下面的地址里。所以我们可以访问它
cars['Chevrolet']{“洋葱”:“2018年模式”,“Selta”:“2017年模式”}
cars['Chevrolet']['Onix']“2008型”
如果你不知道什么品牌制造一个特定的模式。您可以使用列表理解找到它,如
cars = {'Chevrolet':{'Onix':'Model 2018',
'Selta':'Model 2017'},
'Ford':{'Fusion':'Model 2009',
'Ranger':'Model 2015'}}
model = 'Selta'
brand = [car for car in cars for m in cars[car] if m == model][0]
print('Car: ' + model + ' - ' + cars[brand][model])您只需更改model变量,它就会发现在哪个品牌下可以找到模型。
然后您可以创建一个小的实用程序函数。
def getInfo(cars, model):
brand = [car for car in cars for m in cars[car] if m == model][0]
return 'Car: ' + model + ' - ' + cars[brand][model]
cars = {'Chevrolet':{'Onix':'Model 2018',
'Selta':'Model 2017'},
'Ford':{'Fusion':'Model 2009',
'Ranger':'Model 2015'}}
print(getInfo(cars, 'Ranger'))https://stackoverflow.com/questions/49641382
复制相似问题