我有一組四元組('myTup')和一個元組('tupleToSearch')。我需要搜索這個元組的所有實例到每個四元組中。 'tupleToSearch'將與每個四元組的前兩個元素進行比較,如果匹配,則會報告匹配四元組的最後兩個元素。Python中的四元搜索元組
我正在使用下面的代碼來做同樣的事情。
myTup = set([('0994900', '50.2297', 'name1', '<4'),
('2176041', '24.2880', 'name2', 'POSITIVE'),
('2240663', '51.2510', 'name3', '25.0'),
('2240663', '51.2510', 'name4', '29.0'),
('2240663', '51.2560', 'name4', '29.0')])
tupToSearch = ('2240663', '51.2510')
[(x[2],x[3]) for x in myTup if tupToSearch == (x[0],x[1])]
我需要擴展此代碼,以便不是精確搜索,而是執行範圍比較。
例如,給定tupleToSearch = ('2240663', '51.2510')
,我想找到那些第二個元素大於等於51.2510但小於(51.2510 +偏移量)的四元組。這裏'抵消'是一個常數。
在上述情況下的正確答案將會報告最後三個四元組(僅來自這兩個元素的最後兩個元素)。
如何將第二個元素轉換爲數值以進行正確比較。
此外,我需要一個有效的方法來做到這一點,因爲我需要重複這一步近10億次。
到底在哪沒有'51.27'從何而來? – NPE
我在第二學期添加了一個常數 – learner
@NPE,我編輯了原文。我正在爲第二個元素添加一個'偏移量'。這個偏移量是不變的 – learner