Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x Python3:附加到两个for循环内的列表_Python 3.x_Numpy_For Loop - Fatal编程技术网

Python 3.x Python3:附加到两个for循环内的列表

Python 3.x Python3:附加到两个for循环内的列表,python-3.x,numpy,for-loop,Python 3.x,Numpy,For Loop,我有下面的代码,它总结了从正态分布中抽取的最多100个随机数,直到它达到-10或+10: import numpy as np mylist=[] summ = 0 for x in range(100): i = np.random.randn() summ += i mylist.append(i) if summ < -10 or summ >10: break 除了我现在不知道如何将元素I附加到列表中 更新:我更新了代码,因此

我有下面的代码,它总结了从正态分布中抽取的最多100个随机数,直到它达到-10或+10:

import numpy as np
mylist=[]
summ = 0
for x in range(100):
    i = np.random.randn()
    summ += i
    mylist.append(i)
    if summ < -10 or summ >10:
        break
除了我现在不知道如何将元素I附加到列表中

更新:我更新了代码,因此首先将随机数添加到临时列表
模板列表
,一旦总和超出限制,它就会将此列表附加到
mylist
。不过,还是不行

mylist=[]
mylist = []
for p in range(500):
    new_list = []
    summ = 0
    for x in range(100):
        i = np.random.randn()
        summ += i
        new_list.append(i)
        if summ < -10 or summ >10:
            break
    mylist.append(new_list)
对于范围(500)内的p: 新列表=[] 总和=0 对于范围(100)内的x: i=np.random.randn() 总和+=i 新列表。附加(i) 如果总和<-10或总和>10: 打破 mylist.append(新列表)
mylist=[]
对于范围(500)内的p:
新列表=[]
总和=0
对于范围(100)内的x:
i=np.random.randn()
总和+=i
新列表。附加(i)
如果总和<-10或总和>10:
打破
mylist.append(新列表)

您可以执行任意函数500次,并使用装饰器将结果保存在列表中。只需将您的功能放入函数中:

import numpy as np

def execute_500_times(func):

    def multiplying_func(*args, **kwargs):
        list_of_results = list()
        for _ in range(500):
            list_of_results.append(func(*args, **kwargs))
        return list_of_results

    return multiplying_func

@execute_500_times
def myfunc():
    mylist=list()
    summ = 0
    for x in range(100):
        i = np.random.randn()
        summ += i
        mylist.append(i)
        if summ < -10 or summ >10:
            break

    return mylist

result = myfunc()
将numpy导入为np
def执行500次(func):
def乘法函数(*args,**kwargs):
结果列表=列表()
对于范围(500)内的:
结果列表。追加(func(*args,**kwargs))
返回\u结果的\u列表
返回乘法函数
@执行500次
def myfunc():
mylist=list()
总和=0
对于范围(100)内的x:
i=np.random.randn()
总和+=i
mylist.append(一)
如果总和<-10或总和>10:
打破
返回mylist
结果=myfunc()

这样做的一个优点是,decorator函数也可以用于其他函数,而不仅仅是修改原始函数。

您可以执行任意函数500次,并使用decorators将结果保存在列表中。只需将您的功能放入函数中:

import numpy as np

def execute_500_times(func):

    def multiplying_func(*args, **kwargs):
        list_of_results = list()
        for _ in range(500):
            list_of_results.append(func(*args, **kwargs))
        return list_of_results

    return multiplying_func

@execute_500_times
def myfunc():
    mylist=list()
    summ = 0
    for x in range(100):
        i = np.random.randn()
        summ += i
        mylist.append(i)
        if summ < -10 or summ >10:
            break

    return mylist

result = myfunc()
将numpy导入为np
def执行500次(func):
def乘法函数(*args,**kwargs):
结果列表=列表()
对于范围(500)内的:
结果列表。追加(func(*args,**kwargs))
返回\u结果的\u列表
返回乘法函数
@执行500次
def myfunc():
mylist=list()
总和=0
对于范围(100)内的x:
i=np.random.randn()
总和+=i
mylist.append(一)
如果总和<-10或总和>10:
打破
返回mylist
结果=myfunc()


这样做的一个优点是,decorator函数也可以用于其他函数,而不仅仅是修改原始函数。

您想循环500次,但创建200个列表吗?这是怎么回事?错别字,对不起!500次才能得到500张名单!在
p
循环之外创建另一个列表。在
p
循环内启动一个新的
mylist
,并在
x
循环完成后将其附加到外部列表。是否要创建当前值为
i
的500个列表?然后,您不需要将其附加到新列表中。只需用它初始化列表:
mylist.append([i])
如果您的总和从未达到上限或下限,您如何处理这种情况?不是每个列表元素的总和都大于10或小于-10,这是故意的吗?您想循环500次,但创建200个列表?这是怎么回事?错别字,对不起!500次才能得到500张名单!在
p
循环之外创建另一个列表。在
p
循环内启动一个新的
mylist
,并在
x
循环完成后将其附加到外部列表。是否要创建当前值为
i
的500个列表?然后,您不需要将其附加到新列表中。只需用它初始化列表:
mylist.append([i])
如果您的总和从未达到上限或下限,您如何处理这种情况?不是每个列表元素的总和都大于10或小于-10是故意的吗?我喜欢这段代码,因为它连接到我已经知道的东西。但是,
mylist
中的列表大多大小为1,无法更新。在前面的代码中,
summ
没有设置为0。当然!否则,
if
将始终为真!谢谢我喜欢这个代码,因为它连接到我已经知道的东西。但是,
mylist
中的列表大多大小为1,无法更新。在前面的代码中,
summ
没有设置为0。当然!否则,
if
将始终为真!谢谢可能是一个非常好的解决方案,除了我不是python3的这个级别-proficiency@rororo:如果你想进入decorators,这是一个很好的起点。可能是一个很好的解决方案,除了我不是python3的这个级别-proficiency@rororo:如果你想进入装饰行业,这是一个很好的起点。