繁体   English   中英

Python - 根据输入返回字典键

[英]Python - Return Dictionary key based from input

作为预防措施,我对 Python 很陌生。 我正在做一个项目,我在字典中为不同的公司存储一些不同的变量。 我试图弄清楚如何从特定字典中返回特定键。 例如,用户输入他们的公司名称,程序从他们的特定公司字典中返回一个特定的键。

我能够成功地执行此操作并打印出正确的字符串,但我现在想将此值传递给实际调用此代码但没有返回任何内容的程序。 我附上了我正在使用的代码的简单示例。

Company= "company1"

def getID():

    Companies = {
    "company1" :  {'ID_1': 'id3_12'},
    "company2" :  {'ID_1': 'id="id4_12"', 'ID_2': 'id5_12'},
    "company3" :  {'ID_1': 'id6_12', 'ID_2': 'id7_12'},
    "company4" :  {'ID_1': 'id8_12', 'ID_2': 'id9_12'}
    }


    id = (Companies[str(Company)]['ID_1'])
    return id

例如,有人将输入“Comany1”,python 将返回“id3_12”

我希望这是有道理的!

谢谢大家先进

您的 function 不是通过参数获取数据,而是从全局变量Company获取数据。 如果您不在全局 scope 中(您通常应该避免),那将无法正常工作,试试这个:

def getID(company):
    Companies = {
    "company1" :  {'ID_1': 'id3_12'},
    "company2" :  {'ID_1': 'id="id4_12"', 'ID_2': 'id5_12'},
    "company3" :  {'ID_1': 'id6_12', 'ID_2': 'id7_12'},
    "company4" :  {'ID_1': 'id8_12', 'ID_2': 'id9_12'}
    }
    id = Companies[str(company)]['ID_1']
    return id

print(getID("company1"))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM