问题:
我试图生成多个不同长度的随机数列表。在长度为num_baskets
的for
循环中,我使用np.random.choice
为每个连续列表的长度n
生成一个数字。然后,再次np.random.choice
生成长度为n
的随机数列表。你知道吗
预期产量:
长度num_baskets
的列表,列表中的每一项都是另一个随机长度n
的列表。你知道吗
电流输出:
长度num_baskets
但子列表长度一致的列表。但是,每次运行函数时,每次调用的子列表长度都是不同的(但仍然是一致的)。你知道吗
我尝试过的:
当我从python文件导入函数时,(例如from python_file import create_baskets
与预期输出有偏差。尽管在每个循环中重新定义了n
,但所有输出列表的长度都相同。你知道吗
然而,当我复制粘贴函数并在jupyter笔记本中定义它时,我得到了不同列表长度的预期输出。你知道吗
我的代码:
import numpy as np
def create_baskets(num_baskets, max_basket_size, unique_items):
"""
Create list of baskets of variable length >= 3
Parameters
----------
num_baskets:
number of baskets (sub-lists)
max_basket_size: maximum basket size
Baskets will be of size range(3, max_basket_size)
unique_items:
number of unique items
Returns
-------
ret: list of "baskets", of randomly generated length
"""
baskets = []
for i in range(num_baskets):
n = np.random.choice(range(3, max_basket_size), 1)
basket = np.random.choice(range(0, unique_items), n, replace=False)
baskets.append(basket)
return baskets
我不确定函数的编写方式是否存在根本错误/可改进的地方,或者导入是否有问题。你知道吗
我重新启动了Jupyter内核,以便对python文件代码所做的必要更改现在反映在import上。你知道吗
尽管在笔记本中多次重新导入模块,但Jupyter没有更新对python文件所做的更改并保存在我的文本编辑器中,这是一个问题。你知道吗
相关问题 更多 >
编程相关推荐