繁体   English   中英

在中断并尝试更改循环值后,这是否可能 Else 条件起作用?

[英]Is this possible Else condition to work after break & trying to change for loop value?

创建 150 个随机数并取 78 个统一样本

import numpy as np

population_data=np.random.randint(1,600,150) # 150 random numbers(integers) genereated 

sample_data=[]
sample_lenth=78

p=30/len(population_data)


for i in range(1,len(population_data)):

    if np.random.random() <=p:
        sample_data.append(population_data[i])
        print(i,len(sample_data))
        if sample_lenth==len(sample_data):
            break;
else: 
    i=10 # (basically wants to change the i value lower that for loop keep running )
    print(i)
        
           
    
print(len(sample_data))
print(sample_data)

for 循环仍在运行 150,这是有效的,我不能在 for 循环中添加更多范围,就好像 i>150 那么 sample_data.append(population_data[i] ) 将超出范围。

我想要实现的是: if sample_lenth==len(sample_data): then break else 将 i 值更改为 1-150 之间的任何值,循环继续

任何帮助!

恐怕for...else构造与您要查找的内容无关。

在 for 循环结束后, else子句最多执行一次。

参见例如https://book.pythontips.com/en/latest/for_-_else.html

您不能更改for循环内的i变量。 可能您想使用while循环。 参见例如如何更改 for 循环的索引?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM