我在调整python中的列表大小时遇到​​一些问题。我有一个向量(A),其中-9999999是其中的一些元素。我想找到那些元素,将其删除并删除B中的相应元素。

我试图像这样索引非-9999999值:

i = [i for i in range(len(press)) if press[i] !=-9999999]


但是,当我尝试使用索引来重塑印刷机和其他矢量时,会出现错误。
类型错误:列表索引必须是整数,而不是列表

向量的长度约为26000

基本上,如果我有向量A,我想从A和B中的65和32中删除-9999999元素。

A = [33,55,-9999999,44,78,22,-9999999,10,34]
B = [22,33,65,87,43,87,32,77,99]

最佳答案

A = [33,55,-9999999,44,78,22,-9999999,10,34]
B = [22,33,65,87,43,87,32,77,99]
A1, B1 = (list(x) for x in zip(*((a, b) for a, b in zip(A, B) if a != -9999999)))
print(A1)
print(B1)


这产生:

[33, 55, 44, 78, 22, 10, 34]
[22, 33, 87, 43, 87, 77, 99]

关于python - 在python中用索引重塑向量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20357578/

10-10 03:32