我有脑电图,陀螺仪和其他数据的数据字典。为了进行处理,我想分别从dicts中提取eeg和陀螺仪数据。因此我有两个清单,上面有脑电图和陀螺仪的键。我用了两个dict理解来实现它,但是也许有一个更平滑的解决方案。在
eegKeys = ["FP3", "FP4"]
gyroKeys = ["X", "Y"]
# 'Foo' is ignored
data = {"FP3": 1, "FP4": 2, "X": 3, "Y": 4, "Foo": 5}
eegData = {x: data[x] for x in data if x in eegKeys}
gyroData = {x: data[x] for x in data if x in gyroKeys}
print(eegData, gyroData) # ({'FP4': 2, 'FP3': 1}, {'Y': 4, 'X': 3})
不,两次听写就差不多了。您可以使用dictionary views选择存在的键,可能是:
如果仍在使用python2,请使用
data.viewkeys()
。在字典视图提供了一个类集合的对象,然后可以在该对象上使用集合运算;
&
为您提供交集。在请注意,使用
^{pr2}$key in eegKeys
和key in gyroKeys
的方法可以通过反转循环来加快速度(循环覆盖较小的列表,而不是较大的字典):稍作修改,但这应该只是稍微干净一点:
或者,如果你喜欢一条直线:
^{pr2}$相关问题 更多 >
编程相关推荐