如何创建1-1000的数字列表以简化?

时间:2015-04-09 02:17:42

标签: list python-2.7 math reddit

我正在研究“我的号码是什么?”程序(http://goo.gl/upgkZ2)发布在reddit上,我想知道是否有一种方法可以获得1-1000的数字列表并删除符合特定条件的数字组。我想知道是否有更简单的方法可以做到这一点?

4 个答案:

答案 0 :(得分:2)

您可以使用以下方法以更简单的方式创建1-1000的列表:

tons = list(xrange(1000))

答案 1 :(得分:1)

你根本不需要一个列表来解决这个问题(好吧,找到这个问题的两个解决方案)。对于无法满足的每个条件,循环遍历数字和continue(返回循环顶部以进行下一次迭代):

for i in xrange(10,1001):
    s_i = str(i)
    if '1' in s_i or '7' in s_i:
        continue
    if sum([int(d) for d in s_i]) > 10:
        continue
    ...
    print i, 'satisfies the conditions.'

答案 2 :(得分:0)

您需要在初始列表中使用过滤器,一次删除一个案例 为了提高效率,首先删除最大的一个,就像最后一个案例删除了90%的列表

答案 3 :(得分:0)

您还可以使用numpy创建数组:

import numpy as np

a=np.arange(1,1001)