【发布时间】:2016-09-01 01:05:29
【问题描述】:
上下文: 我正在使用 Ajax 调用从 python 模块返回一些复杂的 JSON。我必须使用键列表并确认单项字典列表包含每个键的字典。
例子:
mylist=['this', 'that', 'these', 'those']
mydictlist=[{'this':1},{'that':2},{'these':3}]
我怎么知道 mydictlist 缺少“那些”键?一旦知道这一点,我就可以将 {'those':4} 附加到 mylist。简单地检查“那些”是行不通的,因为列表是动态的。数据结构不能改变。
谢谢。
【问题讨论】:
-
你是说不能简单地检查每个列表项是
in字典吗? -
对,因为不同情况下列表会变化
-
@wwii:不止一个
dict;天真的方法需要为mylist中的每个值迭代一次mydictlist,即O(n*m)(其中n和m是两个lists 的长度),包括最坏情况和预期情况。更好的解决方案可以将工作减少到O(n + m),如果lists 很大,这可能会有所作为。 -
mylist有可能重复吗? -
@wwii 不,它总会有独特的物品
标签: python