我有这段原始代码:
for x in rawFile:
line += 1
if line%2 == 0:
self.newList.append(x.rstrip())
self.timeStamp.append('0')
然后我看到它有多丑,并想用列表推导来完成它,因此我将它重写为:
self.newList = [x[1].rstrip() for x in enumerate(rawFile) if x[0]%2 == 0]
self.timeStamp = ['0' for x in self.newList[]]
虽然第二个对我来说肯定看起来更“pythonic”,但我仍然不喜欢我实际上必须执行一次额外迭代的事实。这可能是一个疯狂的问题,但是有没有人知道我可以在一个迭代/行中更有效地完成这种理解的方法?