lambda中的无限循环,只打印最大值?

时间:2013-03-22 17:42:43

标签: python

如何在Python中构建一个无限循环来运行表达式并仅在它大于以前保存的值时打印其值?我还希望它能够更新新的最大值。

1 个答案:

答案 0 :(得分:0)

以下代码解决了这个问题:

from __future__ import print_function #needed python 2.7 only


import random
example_expression = lambda: random.random()

a = [0]
b = [-1]

[ print(a[0]) 
  for i in iter(int,1) #causes an infinite loop
  if  not a.__setitem__(0,example_expression()) #__setitem__ will return None 
  and a[0]>b[0] 
  and not b.__setitem__(0,a[0])  ]