我有两张同样长的单子。一个是整数值,每个值对应一个二进制值。我需要将整数与第三个列表匹配,然后找到与该整数匹配的二进制值。你知道吗
binary = read_dataset(itype, 'ExSitu') #len(binary) = 195400
id = read_dataset(itype, 'ParticleIDs') #len(id) = 195400
id2 = read_dataset(itype, 'To_Match') #len(id2) = 19100
所以我需要找到每个实例,其中“id2”中的值在“id”中 到目前为止,我已经完成了:
set(id) & set(id2)
给出了匹配的值。 现在我需要使用这些值在'id'中的位置来提取'binary'中的二进制值
例如,“id”开始于:
[183,739,172,384...]
每个位置都有一个对应的“二进制”值
[0, 1, 1, 0,...]
我希望收集并计算“binary”中的1和0,但仅限于“id”中的整数与“id2”中的整数匹配的位置。你知道吗
所以对于“id2”列表
[999, 998, 739, 997...]
只有一个整数匹配,“binary”中的对应值为1。你知道吗
我觉得有一种方法可以通过列表理解来做到这一点,但我找不到方法。你们这些聪明人能帮忙吗?你知道吗
非常感谢
汤姆
如果我正确理解了你的问题-你想要一个id2中的值的位置列表,这些值在id中存在下图:-你知道吗
如果您对
id1
和id2
中整数的二进制值感兴趣,可以按以下方式操作:不清楚为什么需要
binary
的特定二进制值,但在这种情况下,您可以做的是更新后
相关问题 更多 >
编程相关推荐