正如你已經理解我是初學者,並且試圖理解寫這個函數的「Pythonic方式」建立在。 我知道其他線程可能包含對此的部分答案,但我不知道要查找什麼,因爲我不明白這裏發生了什麼。瞭解此行:list_of_tuples = [(x,y)for x,y,data_one中的標籤]
這行是我的朋友給我發,以提高我的代碼的代碼是:
import numpy as np
#load_data:
def load_data():
data_one = np.load ('/Users/usr/... file_name.npy')
list_of_tuples = []
for x, y, label in data_one:
list_of_tuples.append((x,y))
return list_of_tuples
print load_data()
「改良版」:
import numpy as np
#load_data:
def load_data():
data_one = np.load ('/Users/usr.... file_name.npy')
list_of_tuples = [(x,y) for x, y, label in data_one]
return list_of_tuples
print load_data()
我在想:
- 這裏發生了什麼?
- 這是一種好還是壞的方式?因爲它是「Pythonic」,我認爲它不會 與其他語言一起工作,所以也許最好是習慣於更一般的方式?
這是一個列表理解。它更清潔,更pythonic。在谷歌上檢查它。而且,它也會更快。這是一個更好的方法。 – acushner
是不是從非改進版本中清楚的「這裏發生了什麼」? – mgilson
https://docs.python.org/2/tutorial/datastructures.html#list-comprehensions –