我有一个以数字为参数的函数。这个函数应该创建一个现有列表(100 个元素)的副本,然后在随机选择的列表中操作一个值。例如,如果我给函数一个 200 的参数,它必须创建一个新列表并每次随机选择一个值,确保在 200 次中创建新列表,原始现有列表中的每个元素100 个元素至少被操作一次。稍后将绘制此数据。我一直注意到我编写的函数并没有操纵每一个元素。我的代码如下:
def condition_manipulate(value):
list_set=[]
for i in range(0,value):
new_list=initial_conditions[:]
x=random.choice(new_list)
variable=new_sum(new_list.index(x)) #new_sum is a pre-defined function
new_list[new_list.index(x)]=variable
list_set.append(new_list)
return list_set
问题可能是我选择了random.choice,这并不是让condition_manipulate 在initial_conditions 中的每个元素上至少运行一次,但我能做些什么来解决这个问题?
编辑:我刚刚绘制了我的数据并注意到它继续在 new_list 中以相同的值运行......它没有选择任何其他值!