是否可以在Python中创建一个等于大于另一个数字的任何数字的变量?例如:
bar
几乎是那些想知道我想要做什么的人我试图这样做,如果一个整数列表中的数字超过26然后取这个数字并将其改为26以下的数字,具体取决于数字它是。对不起,这是一个更大的项目中的一件小事,所以很难解释所有
答案 0 :(得分:3)
是的,you can customize your class's behaviour in comparison operations可以解决此问题。
class EqualToAnyGreaterThan(object):
def __init__(self, n):
self.n = n
def __eq__(self, other):
return other > self.n
def __ne__(self, other):
return other <= self.n
egt26 = EqualToAnyGreaterThan(26)
print egt26 == 1 # False
print egt26 == 26 # False
print egt26 == 27 # True
print egt26 == 99 # True
print 21 == egt26 # False
print 89 == egt26 # True
print 21 != egt26 # True
print 89 != egt26 # False
答案 1 :(得分:1)
显然,我们无法做到每个超过26的数字,因为它的无穷大但有几个选项。
x = xrange(27, int(1e7)) #will return a generator of 27, 10000000