2013-10-18 44 views
-4

我最近開始瞭解Python。這是我正在做的。請給出一個提示如何開始。一個調用它的函數將兩個列表作爲其參數,並返回True或False。 Python

編寫一個叫做sameElements採用兩個列表作爲它的參數,並返回True或False功能。當第二個列表只是第一個列表的重新排列時,它應該返回True,這意味着第二個列表具有完全相同的元素,只是以不同的(或可能甚至是相同的)順序排列。您可以假設這兩個列表中的數據項是相同類型的。

例如:

sameElements([1,2,3], [2,3,1]) 
True 
sameElements([1,2,3], [3,2,2]) 
False 
sameElements([1,2,3], [3,2,1,1]) 
False 
sameElements([1,1,2], [1,2,1]) 
True 
sameElements([1,1,2], [2,1]) 
False 
sameElements(['a','c','a','b'], ['b','a','a','c']) 
True 

需要注意的是:

  • 答案永遠是假的是不一樣的長名單。
  • 你的函數不應該修改其中一個清單,所以你可能需要進行一個或多個表的副本。
  • 允許重複,需要同時出現在列表中相同的次數。
+0

讓我們看看你已經嘗試了什麼(代碼最好,或者在至少一個思考過程)。這裏的人們並不真正喜歡只爲你寫代碼;此外,如果你至少對此有所瞭解,你將會學到更多。 – reem

+0

嘗試對每個列表的元素進行排序,然後檢查兩個列表是否相等。 – Hypuk

回答

4

這裏是你

>>> from collections import Counter 
>>> Counter(['a','c','a','b']) == Counter(['b','a','a','c']) 
True 

暗示但你可能會告訴我們,你不能使用Counter

+0

提示:實現您自己的「計數器」。 – reem

相關問題