我在字典里有超过9000个数据属性。简单版本如下所示:
test = {1092268: [81, 90], 524292: [80, 80], 892456: [88, 88]}
它们是基因id,在一个列表中有两个值。我想要的是得到多个包含所有id的字典,这些id的值高于或低于某个特定值。所以在这个例子中,假设我想要得到三个字典,一个包含的id和值都在85以下,另一个都在85以上,最后一个包含的第一个值在85以下,第二个在85以上。所以最后我会说:
testabove = { 892456: [88, 88]}
以及
testbelow = { 524292: [80, 80]}
以及
testboth = { {1092268: [81, 90]}
我不知道怎么弄清楚。你知道吗
使用字典理解很简单
正如Marein在下面的comments中提到的,另一种方法是
它使用^{} 函数
比较
如您所见,直截了当的方法比使用
all
更快。你知道吗直接解决方案:
它也比Bhargav的解决方案快,通过测试随机输入适当的大小来判断。测试和结果:
还有两种变化,不知道我最喜欢什么。你知道吗
这些的计时大约是1.7秒和1.2秒。你知道吗
这是另一个对于大量数据应该更快的解决方案,因为它在一次迭代中构建了所有三个字典。你知道吗
相关问题 更多 >
编程相关推荐