我正在使用python 3开始。我试图从控制台拆分输入以匹配我的字典中的键,并在控制台上显示所述键的值。我一直在努力工作几个小时,决定分手并寻求帮助。这是一些代码。
enter = input("test ").split()
names1 = {8410:"A", 8422:"B", 8450:"C", 8386:"D", 8394:"E", 8395:"F", 8318:"G", 8451:"H", 8348:"I", 8294:"J", 8349:"K"}
if enter in names1:
print(names1[enter])
我有16个字典,其中有7000多个名字,其中包含员工ID。我的主要目标是能够输入一个包含ID的URL,例如:www.domain.com/8450,让控制台只抓取8450,然后显示C.
提前致谢。
答案 0 :(得分:1)
如果你知道你的网址会像{1}那样使用rsplit('/')
:
>>> enter = int(input('test: ').rsplit('/')[-1])
test: www.domain.com/8450
>>> enter
8450
>>> names1[enter]
'C'
此外,您的密钥存储为整数,因此请使用int()
将输入转换为int。
答案 1 :(得分:0)
split()
返回一个列表
例如:
>>> input('test:').split()
test:hello
>>> ['hello']
您正在检查dict中的任何键是否为列表,如下所示:
>>> if ['input'] in {'input': 'sample data'}
哪个不起作用。
您需要清理您的输入。有很多方法可以做到这一点。一个例子可能是:
>>> if isinstance(enter, list):
>>> enter = enter[0]
选择权在你手中。