我剛開始學習python。Python:比較列表中的元素並打印最大匹配計數的元素
我試圖比較列表中的元素。比如我有一個列表:
list = [['red', 'blue', 'black'], ['red', 'blue', ' white'], ['red', 'pink']]
現在,我怎麼可以比較元素0:['red','blue','black']
與列表中的元素的其餘部分,打印與比賽的最大數量的元素,如最匹配的元素是['red', 'blue', ' white']
接下來['red', 'pink']
更新:
在這一點上,我設法做這樣的事情:
mylist = [set(item) for item in list]
for i, item in enumerate(mylist):
for i1 in xrange(i + 1, len(mylist)):
for val in (item & mylist[i1]):
print "Index {} matched with index {} for value
{}".format(i,i1,val)
if i == 0:
print list[(i1)]
輸出:
Index 0 matched with index 1 for value "Red"
['red', 'blue', ' white']
Index 0 matched with index 1 for value "Blue"
['red', 'blue', ' white']
...
我已經找到了解決辦法: Python: Compare elements in a list to each other。
任何幫助將不勝感激。 謝謝。
你能告訴你有什麼到目前爲止已經試過?解釋你的實施的哪一部分給你帶來困難。 – idjaw
嘗試使用計數器 - https://docs.python.org/2/library/collections.html#counter-objects –
或者['set'](https://docs.python.org/2/library/stdtypes的.html#集類型,設置frozenset)。 – mkrieger1