Python余数运算符使用列表

时间:2016-02-19 20:36:52

标签: python python-3.x

尝试使用余数运算符在列表中查找正值并在找到它们时打印它们。

ExampleList=[2,5,-34,0,389,202,8]

我想我不明白如何让操作员使用列表然后打印值。

3 个答案:

答案 0 :(得分:1)

import sys
li = [2,5,-34,0,389,202,8]
m = sys.maxint
print [e for e in li if e == e%m]

答案 1 :(得分:0)

ExampleList=[2,5,-34,0,389,202,8]

for i in ExampleList:

    if ((i % 10) != (abs(i) % 10)):
        print (i)

上述代码适用于此特定示例,但可能无法正常工作,因为有数字,无论它们是正数还是负数,都会给出相同的模数结果。

答案 2 :(得分:0)

嗯,使用<或相关比较或abs的任何解决方案实际上并未使用%的任何独特功能。所以只是为了好玩,有点愚蠢的方式来做这件事而不使用任何特殊功能,并且除了==以外没有实际使用%行为的有意义的比较(而不仅仅是添加为了这个目的,%代码可以生成没有它的正确结果:

>>> li = [2,5,-34,0,389,202,8]
>>> print([x for x in li if x == x % (x ** 2 + 1)])
[2, 5, 0, 389, 202, 8]

我们调整x来创建一个已知大于x绝对值的值(并添加1来处理0和{{的特殊情况1}})。

另一种棘手的方法是使用数字作为除数,以便始终从非负输入中获得固定值:

1