读书人

求一段python代码写法解决思路

发布时间: 2013-08-11 22:22:29 作者: rapoo

求一段python代码写法
本帖最后由 eastred 于 2013-08-04 12:54:32 编辑


r = []
for i in range(x-1, -1, -1):
if self.pos(i, y) == 0:
r.append(i)
else:
break

for i in range(x+1, self._width):
if self.pos(i, y) == 0:
r.append(i)
else:
break


以上的python代码,求列表解析或者函数式编程的写法,谢谢。
[解决办法]
r1=[i for i in range(x-1, -1, -1) if self.pos(i, y) == 0]
r2=[i if self.pos(i, y) == 0 else False for i in range(x+1, self._width)]
r3=[x for i, x in enumerate(r2) if all(r2[:i + 1])]
r = r1.extend(r3)

不知道x, y,所以无法测试
[解决办法]
貌似按原写法即可,不要强要写成列表解析,没少打几个字看了也头疼...

读书人网 >perl python

热点推荐