如何通过其键调用字典的每个值?

时间:2019-09-30 06:17:30

标签: python python-3.x dictionary

我想将每个(键,值)对与字典分开,并希望通过键名来调用每个值。

我有两个列表,

1. ListA = [1, 2, 3, 4, 5]
2. ListB = ['A', 'B', 'C', 'D', 'E']

现在我已经创建了这样的字典

Dict = {1: 'A', 2: 'B', 3: 'C', 4: 'D', 5: 'E'}

因此,现在,如果我想查看每个键的值,则必须输入: Dict[key]

现在,我希望我的结果像: 如果我要求每个键的值,我只需要键入key而不是Dict[key] 它应该给我答案。

键入1应该得到A。 键入2应该得到B

3 个答案:

答案 0 :(得分:0)

您可以以某种方式做到这一点,但是老实说,如果您可以简单地访问以下内容,则不是一个好主意。您可以将key设置为对象的属性。

但是对于您输入字典为{"key1":"Apple"}的字典来说,它将不起作用

class MyDict:
    def __init__(self,input_dict):
        for key,value in input_dict.items():
            setattr(self,key,value) #setting key as attribute

obj = MyDict({"key1":"Apple"}) #new instance                    
print(obj.key1) # this will print Apple

但是最好不要弄乱它,就像obj.1一样。

答案 1 :(得分:0)

如果要循环遍历字典值,则可以使用for v in Dict.values(): print(v) # > 'A' # > 'B' # ...

Intent intent = new Intent("msg");    //action: "msg"
intent.setPackage(getPackageName());
intent.putExtra("message", message.getBody());
getApplicationContext().sendBroadcast(intent);

答案 2 :(得分:0)

在一会儿true循环中,不断从列表中弹出项目,直到遇到类似这样的IndexError:

ListA = [1, 2, 3]
ListB = ['A', 'B', 'C'] 
DictC = {}

while True:
   try:
     DictC[ListA.pop(0)] = ListB.pop(0)
   except IndexError:
     break

print(DictC)