让我们说snapshot is: Snap (-LZtTuFSKMhhXFwyT-7K) {
Description = "Ciclabile chiusa";
Id = 0;
Latitude = "44.50139187990401";
Longitude = "11.33592981426992";
}
snapshot is: Snap (-LZtUV8MOxVrvPnEfi4g) {
Description = "Lavori in corso";
Id = 1;
Latitude = "44.5013918797401";
Longitude = "11.335929814371545";
}
snapshot is: Snap (-LZtV7sJJrOQjAimszTm) {
Description = "Pericoli sulla ciclabile";
Id = 2;
Latitude = "44.50139187974223";
Longitude = "11.335929814367324";
}
像input(fag) == informasjonsvitenskap
中的值,如果是真的,我希望它在karak中打印具有与INFO相关的元素的值,例如INFO100,INFO132和INFO233。如果list(FagKode)
是økonomi,我希望它在karak中打印值,则代码为ECON。
我是python的新手,请告诉我我是否解释得不好。
我的下一个问题是,我只会打印与确切值相关的元素,例如如果input(fag)
,则仅打印INFO100 AND INFO132,如果input(emnenivå) == 100
,仅打印INFO233,>
input(emnenivå) == 200
首先感谢您的帮助:)
答案 0 :(得分:2)
您可以为此使用列表理解:
karak = [['INFO100','C'],['INFO132','B'],['INFO233','C'],['ECON218','A']]
info_items = [item for item in karak if item[0].startswith("INFO")]
econ_items = [item for item in karak if item[0].startswith("ECON")]
print(info_items)
print(econ_items)
关于第二部分:如果emnenivå小于100,应该返回什么?您是否有带有两位数字的INFO项目?
编辑:
要仅将INFO与级别100或200匹配,可以使用emnenivå
中的第一位数字作为区分因素。然后,通过将其转换为字符串并使用index = 0来获得第一个emnenivå
位,如下所示:str(emnenivå)[0]
。示例代码:
emnenivå = 123
print("\nExact match for emnenivå={}:".format(emnenivå))
info_items_exact = [item for item in karak if item[0].startswith("INFO{}".format(str(emnenivå)[0]))]
print(info_items_exact)
emnenivå = 200
print("\nExact match for emnenivå={}:".format(emnenivå))
info_items_exact = [item for item in karak if item[0].startswith("INFO{}".format(str(emnenivå)[0]))]
print(info_items_exact)