2017-01-25 80 views
1

我的問題是不相關的問題,因爲這樣的,但我看了幾個Python腳本,像下面這樣:的Python 3.5列表管理

''.join([i if ord(i) < 128 else '' for i in text]) 

名單是建立在一個循環,幷包含一個IF聲明。我試圖在文檔中找到這種公式的結構(例如,爲什麼把IF放在前面而FOR放在最後)。我想了解背後的邏輯,以便能夠建立和發展我自己的公式。不幸的是,儘管我在網上購買的所有文檔以及我購買的書籍中,信息都非常基本(通常它們使用枚舉列表,就是這樣)。你們中的任何一位能否給我一個關於這個主題的文檔的鏈接?

我最近發現了dict(zip(a,b))三通建字典,但缺乏這個話題的理解讓我的背後...

最好的問候,

+0

這只是一個[list comprehension](https://docs.python.org/3/tutorial/datastructures.html#list-comprehensions)。 –

回答

1

這些都是列表綜合和有相當多的濃縮for循環用較少的代碼覆蓋常見的循環模式。 (https://docs.python.org/3/tutorial/datastructures.html#list-comprehensions

+0

如果其他人也有同樣的問題,現在我有了來自C.Bluoss的正確關鍵字和出發點(原理現在已經很清楚了),我將繼續處理以下兩個鏈接,這些鏈接在複雜性方面有點超出:http ://python-3-patterns-idioms-test.readthedocs.io/en/latest/Comprehensions.html和http://www.python-course.eu/python3_list_comprehension.php – JCF