在Python中使用字典中的通用键

时间:2016-02-25 03:16:17

标签: python dictionary

我试图以通用的方式在字典中命名键,因为名称将基于我从文件中获取的数据。我是Python的新手,我无法解决它,希望能得到你们的回答。

例如:

 from collections import defaultdict

 dic = defaultdict(dict)
 dic = {}
 if cycle = fergurson:
     dic[cycle] = {}
     if loop = mourinho:
         a = 2
         dic[cycle][loop] = {a}

很抱歉,如果语法错误或其他任何错误。

由于我稍后会导入的不同文件,变量fergursonmourinho会发生变化。

所以我希望在输入时看到我的输出:

dic[fergurson][mourinho]

结果将是:

>>>dic[fergurson][mourinho]
['2']

将使用Python

完成

2 个答案:

答案 0 :(得分:0)

正如他们所说,命名是计算机科学中最难解决的两个问题之一。那和缓存失效和一个一个错误。

不要只关注现在要调用的内容,而应该考虑如何在代码中使用变量几行。

如果您要阅读

的代码
for filename in directory_list:
    print filename

很容易假设它正在打印出文件名列表

另一方面,如果相同的代码具有不同的名称

for a in b:
    print a
除了打印一份谁知道什么的清单之外,它的表现要少得多。

我知道这对你的'dic'变量没什么帮助,但我希望它能让你走上正确的轨道,为你找到合适的变量。

答案 1 :(得分:0)

我找到了一种方法,如果有问题请更正

import re
dictionary={}
dsw = "I am a Geography teacher"
abc = "I am a clever student"
search = re.search(r'(?<=Geography )(.\w+)',dsw)

dictionary[search]={}
again = re.search(r'(?<=clever )(.\w+)' abc)
dictionary[search][again]={}
number = 56
dictionary[search][again]={number}

所以当你想在运行程序后找到你的特定字典时:

dictionary["teacher"]["student"]

你会得到

>>>'56'

这就是我的意思