【发布时间】:2015-10-30 18:35:51
【问题描述】:
我有两本词典。
一个包含以下方式的数据d['name']=[something,{attribute:placeholder}]
所以一个包含一个列表的字典(不是我最初所说的数组)包含一个字典,其中的值是占位符字母组合而不是唯一的。
另一个字典包含s['placeholder']=value
我想将 d 中的所有占位符替换为 s 中对应的值。
有什么方法可以有效地做到这一点,而不是通过循环遍历 d 属性中每个条目的 s 字典?
【问题讨论】:
-
纯python中没有数组。你得到的是一个简单的列表,里面有一本字典。
-
@ascenator:实际上,there are。但是 OP 确实没有使用它们,它们在这里有
list对象。 -
@MartijnPieters:是的,但它真的是一个数组吗?一个带有 append 和 stuff 之类的类在我看来就像另一个 python 包装器对象。或者它是否真的在内部使用了一个数组,并在使用 append 之类的方法时创建一个容量更大的新数组并从旧数组中复制值?访问任何单个值时是否为 O(1)?
-
@ascenator:Python
list类型在下面使用动态 C 数组。但是,您没有将您理解的内容限定为数组。 -
@MartijnPieters:一种数据结构,由具有相同(原始)数据类型的元素组成,容量固定,因为底层内存只分配一次,因此值在内存中按顺序排列,授予访问权限每个值的 O(1)。
标签: python performance parsing dictionary