Pythonic从另一个子列表匹配设置变量的方法
我甚至不知道如何给我的文章命名——如果我这样做了,我可能已经找到了我要找的东西我正在尝试从另一个列表中设置一个变量。假设我循环中的当前值的模型变量设置如下:Pythonic从另一个子列表匹配设置变量的方法,python,list,variables,Python,List,Variables,我甚至不知道如何给我的文章命名——如果我这样做了,我可能已经找到了我要找的东西我正在尝试从另一个列表中设置一个变量。假设我循环中的当前值的模型变量设置如下: model=“hybrid” 我想加入到另一个列表并提取一个值。另一个列表如下所示: 额定值=[['hybrid',400],'gas',600],'electric',200] 如何在一条语句中将变量“power”设置为400 这显然不起作用,但它可能会向您展示我在尝试做什么: power=x[1]表示额定值中的x,如果x[0]==mod
model=“hybrid”
我想加入到另一个列表并提取一个值。另一个列表如下所示:
额定值=[['hybrid',400],'gas',600],'electric',200]
如何在一条语句中将变量“power”设置为400
这显然不起作用,但它可能会向您展示我在尝试做什么:
power=x[1]表示额定值中的x,如果x[0]==model
将括号添加到其中以成为列表:
power = [x[1] for x in ratings if x[0] == model]
如果您不希望它作为列表,而是希望它作为单数,请使用:
power = next((x[1] for x in ratings if x[0] == model), None)
另外,这也暗示了您可能希望如何存储收视率。这非常有效。我喜欢它在没有找到匹配项时为我提供默认值选项的方式。感谢您的快速回复!
>>> dict(ratings)[model]
400