我有一個列表列表;每個列表都有規定的第一個和最後一個值。對於每個第一個和最後一個值組合,我希望找到唯一列表的總數。唯一性的定義是,列表中間(第一個值和最後一個值之間)的元素之間不能有重複的元素,這些元素具有相同的第一個和最後一個值組合。列表中第一個和最後一個值被修復的列表中的唯一列表Python
例如,對於以下列表的列表;
[[2, 5, 7, 12], [2, 5, 10, 12], [2, 3, 12], [3, 34, 4, 6], [3, 4, 6]]
有2個第一個和最後一個值組合:[2,...,12]和[3,...,6]。 一組獨特的名單將是:
[[2, 5, 7, 12], [2, 3, 12], [3, 34, 4, 6]]
獨特列出的其他組合是可能的,但我只關心與獨特列表的數量。對於上面的示例,組合[2,...,12]有2個唯一列表,組合[3,...,6]有1個唯一列表。
什麼是在Python中做到這一點的最佳方式?
的建議非常感謝,字典效果很好。儘管如此,我仍然在爲filter_function而努力。我的標準如下:一個唯一列表(對於給定的第一個和最後一個組合)是在任何其他列表(第一個和最後一個組合)中都沒有找到任何中間元素(在第一個和最後一個元素之間)的列表。我希望那更清楚。 –
@scott_ouce我更新了我的答案。它的方式(在一個單獨的函數中),您將不得不將它傳遞給您正在處理的列表,並且效率會降低,因爲您需要*每次*檢查所有其他項目,而不是執行一次。我希望我有道理:) – jadkik94