我想將多行列表從一個函數傳遞給另一個函數,但我無法弄清楚它是如何完成的。下面是代碼我迄今爲止:如何在python中將循環數據從一個函數傳遞給另一個函數?
def readfile():
'''Read a text file; return a string holding the text'''
f = open("numbers.txt", 'r')
line = f.readlines()
f.close()
return line
def dataConversion(lines):
lst = []
for element in lines:
lst = element.strip()
lst = map(int, lst)
print lst
return lst
def evenNumberList(lsts):
print lsts
def main():
lines = readfile()
lsts = dataConversion(lines)
doubledList = evenNumberList(lsts)
main()
的dataConversion的輸出(線)的功能是:
[4, 3, 8, 8, 5, 7, 6, 0, 1, 8, 4, 0, 2, 6, 2, 6]
[4, 3, 8, 8, 5, 7, 6, 0, 1, 8, 4, 1, 0, 7, 0, 7]
[4, 0, 1, 2, 8, 8, 8, 8, 8, 8, 8, 8, 1, 8, 8, 1]
[4, 5, 5, 2, 7, 2, 0, 4, 1, 2, 3, 4, 5, 6, 7, 7]
[4, 5, 3, 9, 9, 9, 2, 0, 4, 3, 4, 9, 1, 5, 6, 2]
[4, 9, 9, 2, 7, 3, 9, 8, 7, 1, 6, 0, 0]
[4, 9, 9, 2, 7, 3, 9, 8, 7, 0, 0, 1, 7]
[8, 0, 8, 4, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[5, 5, 8, 8, 3, 2, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[5, 4, 9, 1, 9, 4, 6, 9, 1, 5, 4, 4, 4, 9, 2, 3]
[5, 4, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 8]
[3, 7, 8, 2, 8, 2, 2, 4, 6, 3, 1, 0, 0, 0, 5]
[3, 7, 1, 4, 4, 9, 6, 3, 5, 3, 9, 8, 4, 3, 1]
[3, 7, 1, 4, 4, 9, 6, 3, 5, 3, 9, 8, 4, 3, 1]
[3, 7, 8, 7, 3, 4, 4, 9, 3, 6, 7, 1, 0, 0, 0]
[3, 7, 8, 7, 3, 4, 4, 9, 3, 6, 7, 1, 0, 0, 1]
[6, 0, 4, 1, 2, 7, 3, 9, 9, 0, 1, 3, 9, 4, 2, 4]
[6, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7]
[6, 0, 1, 1, 0, 0, 0, 9, 9, 0, 1, 3, 9, 4, 2, 4]
雖然輸入到evenNumberList(LSTS)函數是:
[6, 0, 1, 1, 0, 0, 0, 9, 9, 0, 1, 3, 9, 4, 2, 4]
如何讓它們匹配?我需要evenNumberList(lsts)函數中的所有代碼行,而不僅僅是一行。我的教授告訴我,我需要從循環內調用函數,但我一直無法弄清楚如何做到這一點。
非常感謝您的幫助。我想我現在可以弄清楚什麼。 – 2012-02-03 21:52:43
@AbigailHackney - 沒問題,如果我的答案幫助你[接受它](http://meta.stackexchange.com/a/5235/155356),請點擊答案旁邊複選標記的大綱。 – 2012-02-03 22:00:45