作爲學習Python的一部分,我已經給自己設定了一些挑戰,以瞭解各種做事方式。我目前面臨的挑戰是使用列表理解來創建一個列表對。第一部分是制定一個列表,其中(x,y)不能相同(x不等於y)和順序重要性((x,y)不等於(y,x))。檢查組合是否已經從列表理解中存在
return [(x,y) for x in listOfItems for y in listOfItems if not x==y]
利用我現有的代碼,是否可以修改它,如果(X,Y)已經在列表中存在的(Y,X)從結果中排除了嗎?我知道我可以在單詞之後比較項目,但我想看看您對列表理解有多少控制。
我正在使用Python 2.7。
到產量如何工作的
unique_everseen
食譜我很好奇(因爲我的避風港沒有在代碼中使用它)。 – RMDan@RMDan'yield'將普通函數轉換爲生成器,它們用於懶惰評估。閱讀更多關於[生成器](http://wiki.python.org/moin/Generators)的信息。 –
雖然沒有我期望的答案,但它更好。教我關於Python的新東西,以及更清晰的代碼編寫方法。 – RMDan