带有字典的变量名?
|
Python初学者在这里。有关字典的问题。
我的输入是一个可变长度列表(例如a = [\'eggs \',\'ham \',\'bacon \'...]),它用作要在导入的CSV文件上使用的搜索词的列表。
我定义了四个函数,这些函数将每个术语与所述CSV文件中的各种值进行匹配。因此,每个输入项将产生四个结果列表。
我想将输入项作为键存储在字典中(很容易),将得到的四个列表存储为值(也很容易)。
但是,由于输入列表的长度是可变的,因此我想建立一个函数来定义和命名字典\'term1 \',\'term2 \',因此非常简单地说明了这一点:
term1 = { \'eggs\' : [[list1] , [list2] , [list3] , [list4]] }
term2 = { \'ham\' : [[list1] , [list2] , [list3] , [list4]] }
term3 = { \'bacon\' : [[list1] , [list2] , [list3] , [list4]] }
是否有a)这样命名字典的方法? b)并且它们在全球范围内可用吗?如果是这样,怎么办?任何和所有帮助非常感谢。
没有找到相关结果
已邀请:
3 个回复
锹缄
但是您会遇到命名冲突。另外,您的其余代码将如何知道哪些全局变量包含您的结果?他们也必须进行间接查找! 您最好只使用一个包含结果的字典,并将其作为名称空间而不是全局名称空间。
担每棱绰
其中functionX是您的函数,将从CSV文件或其他文件中返回listX结果。 在这里,您将在结果字典中找到类似以下内容的内容:
可扇胆
我发现这种索引访问有些脆弱,并且更喜欢键控访问或属性访问。您的4个列表的硬编码列表可能更好地表示为dict甚至某些简单数据收集类的对象。 另外,我认为您的\“鸡蛋\”,\“培根\”和\“火腿\”列表会随着时间的推移而增长,因为您会在CSV文件中找到\“ pancakes \”,\“ waffles \”, \“哈希布朗\”等等。在浏览数据文件或数据库表时,最近越来越多地使用defaultdict来计算数据。无需预定义我希望获得的键(并且当输入数据中添加了新值时必须自己更新列表),defaultdict只是添加了我定义的形式的新条目:
defaultdict为我节省了繁琐且重复的\“ if key not in summarydict:add new entry ... \”开销,因此我的代码保持相当干净。