我有一个包含一些文本数据和数字坐标列表的列表,如下所示:如何在一个列表中搜索一对坐标?
coords = [['1a', 'sp1', '1', '9'],
['1b', 'sp1', '3', '11'],
['1c', 'sp1', '6', '12'],
['2a', 'sp2', '1', '9'],
['2b', 'sp2', '1', '10'],
['2c', 'sp2', '3', '10'],
['2d', 'sp2', '4', '11'],
['2e', 'sp2', '5', '12'],
['2f', 'sp2', '6', '12'],
['3a', 'sp3', '4', '13'],
['3b', 'sp3', '5', '11'],
['3c', 'sp3', '8', '8'],
['4a', 'sp4', '4', '12'],
['4b', 'sp4', '6', '11'],
['4c', 'sp4', '7', '8'],
['5a', 'sp5', '8', '8'],
['5b', 'sp5', '7', '6'],
['5c', 'sp5', '8', '2'],
['6a', 'sp6', '8', '8'],
['6b', 'sp6', '7', '5'],
['6c', 'sp6', '8', '3']]
给定一对,我想找到该列表中的元件(这将是坐标(x,y)的的它本身是一个列表)对应于所述坐标对。所以,例如,如果我有x = 5和y = 12,我会得到['2e', 'sp2', '5', '12']
。
我尝试这样做:
x = 5
y = 12
print coords[(coords == str(x)) & (coords == str(y))]
,但有一个空的列表。
我也试过这样:
import numpy as np
print np.where(coords == str(x)) and np.where(coords == str(y))
,但不能做出什么返回((array([ 2, 7, 8, 12]), array([3, 3, 3, 3])))
任何意义。
任何人都可以帮我一把吗?
'list'对象*不工作就像'numpy.ndarray'对象*。 –
这个我已经明白了。任何对工作解决方案的建议? – maurobio
循环播放列表,检查是否有'sub [-2] == x和sub [-1] == y' –