在Python中获取字典值

时间:2016-02-07 14:46:36

标签: python dictionary

这是dict:

sozluk_ata = {20225: 17, 20232: 9, 20233: 22, 20234: 3, 20235: 28, 20236: 69, ..}

这是我的代码,用于获取字典中元素的值。

ders_adi_entry_1 = entry_1.get()
ders_crn_entry_1 = int(entry_11.get())

y1 = "sozluk_%s[%d]" %(ders_adi_entry_1, ders_crn_entry_1)
print (y1)

这给了我sozluk_ata[20225],而不是值17

3 个答案:

答案 0 :(得分:2)

如果你只想要你的dict的值,请使用像:

这样的思考
sozluk_ata = {20225: 17, 20232: 9, 20233: 22, 20234: 3, 20235: 28, 20236: 69}

for key in sozluk_ata:
    print(key, sozluk_ata[key])

打印:

20225 17
20232 9
20233 22
20234 3
20235 28
20236 69

答案 1 :(得分:2)

作为一般方法,我会建议这样的事情:

def lookup(inp):
    inp = int(inp)
    for d in overall:
        for k,v in d.items():
            if k == inp:
                return v

overall = []

sozluk_ata  = {20225: 17, 20232: 9, 20233: 22, 20234: 3, 20235: 28, 20236: 69}
sozluk_tur  = {20374: 58, 20358: 31, 21825: 61}
sozluk_bil  = {25472: 65, 25473: 69, 20866: 40}

overall.append(sozluk_ata)
overall.append(sozluk_tur)
overall.append(sozluk_bil)

inp = input('Please type in a key: ')

print(lookup(inp))

这将打印用户在询问时键入的给定键的相应值。但是,由于它使用列表overall,我们无法判断包含所需键值对的dict。为了提供此功能,您需要类似dict而不是列表或元组列表。

不是为彼此附加不同的dicts(因此使用不同的参数调用.append()三次),您也可以extend列表中的列表如下:

overall.extend([sozluk_ata, sozluk_tur, sozluk_bil])

答案 2 :(得分:1)

我们的目标是搜索6-7个字典,并获取用户提供给我们的crn_adı变量的值。 (我们也希望用户给我们搜索的字典。) 我们遇到这样的问题:

sozluk_all = {"sozluk1": {keyandvalues}, "sozluk2": {keyandvalues}}
x = input()
crn_adı = input()

y1 = "sozluk_%s"%(x)
print(sozluk_all[y1][crn_adı])

谢谢大家