【发布时间】:2020-09-17 14:04:58
【问题描述】:
我有一个复杂的代码,它将一些值读入嵌套的 defaultdict。 然后有一个循环遍历字典中的键并使用它们 - 基本上将它们分配给另一个嵌套的 defaultdict。
问题是,当我想使用字典中的值并访问它们并将它们作为值传递给函数时......我得到空 {} 或类似的东西: defaultdict(
我尝试编写字典,以便查看它是否真的是空的。我的部分代码;
if (not families_data[family]['cell_db']['output']):
print(rf"Output for {family} is empty.")
print(dict(families_data[family]['celldb']))
真正有趣的是,当这个“如果”为真时,我会得到以下输出:
adfull 的输出为空。 {'name':'adfullx05_b','family':'adfull','drive_strength':0.5,'template':'adfull','category':'','pinmap':'','输出':' CO S', 'inout': '', 'input': 'A B CI', 'rail_supply': 'VDD VSS', 'well_supply': '', 'description': ''}
如果我将 if 中的第二行更改为
print(families_data[family]['celldb'])
我得到以下输出:
defaultdict(
当输出键中有值“CO S”时,为什么“如果”甚至为真?
为什么我在尝试访问像family_data[family]['cell_db']['input'] 这样的任何值并将其作为参数传递给函数时会得到{}?
我到底做错了什么?
【问题讨论】:
标签: python parameter-passing defaultdict