返回信息流例如对一个有序数组,p、q分别是头尾指针,要跳过相同的元素,以下Java语句:
while(++p < q && nums[p-1] == nums[p]);
用Python写怎么办?要像下面这样麻烦吗?
while(True):
p += 1
if (p < q and nums[p-1] == nums[p]):
continue
else:
break
这是一条镜像帖。来源:北邮人论坛 / python / #11926同步于 2016/1/21
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Python机器人发帖
[问题]赋值并判断在Python里面无法做到吗
iamluo
2016/1/21镜像同步15 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
【 在 asif12 的大作中提到: 】
: 你不觉得Java语句得看一会儿才明白什么意思吗?虽然我Java很烂
那就写成这样
while( (p+=1) < q && nums[p-1] == nums[p]);
也挺明了的吧...问题是Python做不到这样
原来暖宝宝早就发现这个不足了
【 在 nuanyangyang 的大作中提到: 】
: 楼主握爪。本宝宝一点也不喜欢Python……[ema16]
: http://bbs.byr.cn/#!article/Python/10511
:
算不算赋值并判断?。。勉强地:
pp0=iter(nums[p:q+1])
pp1=iter(nums[p:q+1])
pp2=iter(nums[p+1:q+1])
try:
while pp1.next()!=pp2.next():
print pp0.next()
except:
pass
迭代器看着有点复杂...ps:Python3怎么办
【 在 ztinpn 的大作中提到: 】
: 算不算赋值并判断?。。勉强地:
: [code=py]
: pp0=iter(nums[p:q+1])
: ...................
【 在 iamluo 的大作中提到: 】
: 迭代器看着有点复杂...ps:Python3怎么办
是复杂啊,也没啥实用性,其实我就是勉强说明可以同时“赋值并判断”咯。
py3这样:
pp0=iter(nums[p:q+1])
pp1=iter(nums[p:q+1])
pp2=iter(nums[p+1:q+1])
try:
while pp1.__next__()!=pp2.__next__():
print( pp0.__next__() )
except:
pass
z博知识面真是广[ema11]
【 在 ztinpn 的大作中提到: 】
:
: 是复杂啊,也没啥实用性,其实我就是勉强说明可以同时“赋值并判断”咯。
: py3这样:
: ...................