看板 Python 關於我們 聯絡資訊
下面function是讀取某個檔案到集合內 如果現在想要改成 有顏色標記那一行改寫成 mylist(*[if(len(line) > 10 line.strip() for line in fp)]) 系統就會報錯 , 想請問如果想要達成小弟想要的功能 該如何改寫呢? 謝謝 def Loadlist(self, file): print "Loadlist" if os.path.isfile(file): fp = open(file , 'r') mylist=() self.Loadlist = mylist(*[line.strip() for line in fp]) fp.close() return -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.142.232.94 ※ 文章網址: http://www.ptt.cc/bbs/Python/M.1401540561.A.888.html
uranusjr:line.strip() for line in fp if len(line) > 10 (?) 05/31 20:52
uranusjr:說真的你也沒講你想要的功能是什麼, 請不要打啞謎謝謝 05/31 20:52
icoach:不好意思 就是想在那個中括號裡面 可以多判斷長度的功能 05/31 21:02
darkgerm:一樓正解 05/31 22:03
icoach:謝謝一樓 結果是對的 感謝 另外想請問 *該怎麼解釋呢? 06/01 00:31
ckclark:http://tinyurl.com/p48gk45 06/01 00:46
lc85301:一樓大神(worship) 06/01 06:33
icoach:謝謝各位幫忙 06/01 08:04
icoach:再請問 若是要在條件不成立時 印出line 又開如何改寫呢? 06/01 08:15
icoach:試著加在 if 後面 或是 line.strip()後面都秀invalid synta 06/01 08:17
uranusjr:line.strip() if len(line)>10 else line for line in fp 06/01 10:56