python - 如何从索引中找到特定值?
问题描述
假设input(fag) == informasjonsvitenskap
就像 中的值一样list(FagKode)
,如果这是真的,我希望它打印 karak 中具有与 INFO 相关的元素的值,例如 INFO100、INFO132 和 INFO233。如果input(fag)
是 økonomi,我希望它打印 karak 中的值,代码为 ECON。
我是 python 新手,如果我解释得不好,请告诉我。
我的下一个问题是我只会打印与确切值相关的元素,例如 if input(emnenivå) == 100
,只会打印 INFO100 和 INFO132 ,如果input(emnenivå) == 200
只会打印 INFO233 ,
emner = ['INFO100','INFO132','INFO233']
FagKode = [['informasjonsvitenskap','INFO'],['økonomi','ECON']]
karak = [['INFO100','C'],['INFO132','B'],['INFO233','C'],['ECON218','A']]
def start():
global meny
global fag
meny = int(input('Tast inn ønsket valg (press 0 for meny): '))
if meny == 1:
valg_fag = input('Press Enter for å velge fag/emner (Skriv "alle" for å vise alle fag/emner)\n: ')
if meny == 1 and valg_fag == 'alle':
for i in karak:
print(*i)
elif meny == 1 and valg_fag == '':
fag = input('- Fag: ')
emnenivå = int(input('- Nivå: '))
try:
if fag in FagKode[0] and emnenivå in range(1,1000):
???????
???????
else:
print('Du har gjort noe feil!')
except ValueError:
print('NEI')
start()
提前感谢您的帮助:)
解决方案
您可以为此使用列表推导:
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å
作为区分因素。emnenivå
您可以通过将其转换为字符串并使用 index=0 来获得第一个数字,如下所示: 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)
推荐阅读
- angular - Angular/NativeScript 应用程序中的单元测试
- powershell - 如何使用输入文件来提供 powershell 命令?
- mysql - 如何使用 sequelize mysql 添加外键
- typescript - 使用枚举作为字典键
- python - 在 python2.7 环境中 conda install basemap 给出运行时错误 R6034
- highcharts - Trying to figure out how to assign specific colors to specific data points in Highchart Pie chart
- sql-server - SQL Server dynamic SQL to query on sys tables
- html - 连续对齐具有不同尺寸的图像
- linux - Putty Search - String followed by one but not two symbols
- javascript - 将所有状态属性传递给函数,除了一个