我有一個簡單的函數來讀取csv文件,並從中提取明杆第一:'Return'關鍵字只返回循環中的一個元素?
import csv
def pass_username():
with open('test.csv', 'r') as csvfile:
spamreader = csv.reader(csvfile, delimiter=',')
for row in spamreader:
return row[0]
當我調用該函數爲:
a = pass_username()
print a
僅打印第一要素。但是,當我用print
替換return
作爲print row[0]
並將該函數調用爲pass_username()
時,它將打印所有元素。我想將該函數分配給一個變量,因此我想使用return。如何解決它? test.csv的
內容:
"[email protected]","rockon"
"[email protected]","hey"
"[email protected]","ok"
"[email protected]","password"
+1提一個發電機。儘管可迭代類型並不真正「包含」這些項目,因爲它們是按需生成的,而不是實際存儲的。 – jdi
是的,很難解釋它的工作原理而不提出懶惰的評估等。我會編輯我的答案以更好地反映這一點。 – Wes
可能要添加示例代碼的片段 - 使用生成器比理解它們要容易得多:) – theodox