我想使用B数组ID删除A元素,给定特定标量ID“C”
在matlab中,我可以这样做:
public class MyService extends Service {
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public void onCreate() {
super.onCreate();
KeyguardManager kgMgr =
(KeyguardManager) getSystemService(Context.KEYGUARD_SERVICE);
boolean showing = kgMgr.inKeyguardRestrictedInputMode();
if (showing){
Log.i("Point ", "1");
}else{
Log.i("Point ", "2");
}
}
}
}
这是我的代码示例:
A(B == C) = []
我想完全删除列表中的第二个框。
我怎么能在python中这样做?我有笨蛋。
答案 0 :(得分:2)
没有导入numpy
,您可以pop
出元素。尝试:
boxes = [[1,2,20,20],[4,8,20,20],[8,10,40,40]]
IDx = 1
pop_element = boxes.pop(IDx)
列表boxes
现在为[[1, 2, 20, 20], [8, 10, 40, 40]]
而pop_element
为[4, 8, 20, 20]
PS:在python索引中从0
而不是1
开始。
答案 1 :(得分:1)
您可以使用numpy索引。您可以在docs中找到更多信息。对于你的情况:
import numpy as np
boxes = np.array([[1,2,20,20],[4,8,20,20],[8,10,40,40]])
boxIDs = np.array([1,2,3])
IDx = 2
In [98]: boxes[boxIDs != IDx, :]
Out[98]:
array([[ 1, 2, 20, 20],
[ 8, 10, 40, 40]])
答案 2 :(得分:0)
在普通的Python中,我认为你想这样做:
try:
helpindex = boxIDs.index(IDx)
del boxes[index], boxIDs[index]
except ValueError:
# Already deleted
pass
请注意,如果您依赖boxIDs
成为" parallel"使用boxes
,您必须确保通过从两者中删除它们来保持平行。