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