從元組列表中獲取重複計數數據項目1其中包含患者計數器data
... 。隨着樓下的樣品我不需要考慮data[0]
或data[2]
從元組列表python(按其索引)報告重複
import itertools
def getDuplicateinTuple(dataInput):
seen={}
return [seen.setdefault(t[0], t) for t in dataInput if t[0] not in seen]
data=[('2013 Jul 5 06:56:07:', 'PATIENT:COUNTER1'),
('2013 Jul 5 06:56:07:', 'PATIENT:COUNTER2'),
('2013 Jul 5 06:56:07:', 'PATIENT:COUNTER3'),
('2013 Jul 5 06:56:07:', 'PATIENT:COUNTER4'),
('2013 Jul 5 06:57:11:', 'PATIENT:COUNTER1'),
('2013 Jul 5 06:56:11:', 'PATIENT:COUNTER5')]
data1=[('2013 Jul 5 04:26:40:', 'PATIENT:COUNTER1', 'COUNTER INFO: : 500 '),
('2013 Jul 5 04:26:40:', 'PATIENT:COUNTER2', 'COUNTER INFO: : 500 '),
('2013 Jul 5 04:26:40:', 'PATIENT:COUNTER3', 'COUNTER INFO: : 100 '),
('2013 Jul 5 04:26:40:', 'PATIENT:COUNTER4', 'COUNTER INFO: : 100 ')]
s=getDuplicateinTuple(data)
print s
s1=getDuplicateinTuple(data1)
print s1
與預期輸出重複的是:
[('2013 Jul 5 06:56:07:', 'PATIENT:COUNTER1'), ('2013 Jul 5 06:57:11:', 'PATIENT:COUNTER1')]
和實際產量
[('2013 Jul 5 06:56:07:', 'PATIENT:COUNTER1'), ('2013 Jul 5 06:57:11:', 'PATIENT:COUNTER1'), ('2013 Jul 5 06:56:11:', 'PATIENT:COUNTER5')]
上相同的,如果我給出非重複輸出,如data1
預期輸出:
[]
但輸出電流:
[('2013 Jul 5 04:26:40:', 'PATIENT:COUNTER1', 'COUNTER INFO: : 500 ')]
只是通過比較可以做到這一點的名單。 什麼是更好的和建議的方式來實現這一目標?
我看到了一些不錯的疊後在此方面: Find and list duplicates in a list?
@falsetru:with ref http://ideone.com/DWv7uq data1 print getDuplicateinTuple(data)out ('2013年7月5日06:56:07:','患者:COUNTER1'),('2013年7月5日06:57:11:','患者:COUNTER1')]和 print getDuplicateinTuple(data1 )如預期匹配 – Ragav