作者icoach (Nee)
看板Python
标题[问题] 该如何改写一行的 FOR 回圈
时间Sat May 31 20:49:18 2014
下面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://webptt.com/cn.aspx?n=bbs/Python/M.1401540561.A.888.html
1F:→ uranusjr:line.strip() for line in fp if len(line) > 10 (?) 05/31 20:52
2F:→ uranusjr:说真的你也没讲你想要的功能是什麽, 请不要打哑谜谢谢 05/31 20:52
3F:→ icoach:不好意思 就是想在那个中括号里面 可以多判断长度的功能 05/31 21:02
4F:→ darkgerm:一楼正解 05/31 22:03
5F:→ icoach:谢谢一楼 结果是对的 感谢 另外想请问 *该怎麽解释呢? 06/01 00:31
7F:推 lc85301:一楼大神(worship) 06/01 06:33
8F:→ icoach:谢谢各位帮忙 06/01 08:04
9F:→ icoach:再请问 若是要在条件不成立时 印出line 又开如何改写呢? 06/01 08:15
10F:→ icoach:试着加在 if 後面 或是 line.strip()後面都秀invalid synta 06/01 08:17
11F:→ uranusjr:line.strip() if len(line)>10 else line for line in fp 06/01 10:56