所以,我在python(2.7)中有一个脚本,它创建一个介于1和5000之间的1000000个数字的列表,然后在整个列表上运行for循环,检查每个元素是否符合多个嵌入式if语句。
例如:
i = 0
for number in random_list:
i += 1
if random_list[number] <= 3000:
i += 1
if random_list[number] <= 300:
i += 1
if random_list[number] <= 30:
i += 1
if random_list [number] <= 3:
i += 1
break
print i
重点是我希望看到在整个列表中发生了多少次“检查”。
不幸的是,我的i值小于列表中元素的总数,因为每个元素至少应检查一次,因此不应该这样。我得到的东西在1000到10000之间。
我确信有更多的pythonic方法可以做到这一点,所以任何关于如何实现我正在尝试的建议将不胜感激。
答案 0 :(得分:0)
extra = 0
values = (random_list[number] for i,number in enumerate(my_numbers))
for v in values:
extra += sum(v < x for x in [3000,300,30,3])
if v < 3:break;
print i+extra
也许......