gpt4 book ai didi

用于创建和操作列表的 Python 函数

转载 作者:太空宇宙 更新时间:2023-11-03 18:54:58 26 4
gpt4 key购买 nike

我有一个以数字作为参数的函数。该函数应该创建现有列表(包含 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 运行初始条件中的每个元素至少一次,但我能做些什么来解决这个问题?

编辑:我刚刚绘制了我的数据图表,并注意到它继续在 new_list 中的相同值上运行...它没有选择任何其他值!

最佳答案

您的问题可能是 new_list[new_list.index(x)]=variable 分配给列表中的第一个 x,这不一定是所选的 x。尝试:

import random

def condition_manipulate(value):
list_set=[]
for i in range(value):
new_list=initial_conditions[:]
i=random.choice(range(len(initial_conditions)))
new_list[i]=new_sum(new_list[i])
list_set.append(new_list)
return list_set

抛开随机性不谈,使用索引比一直在整个列表中搜索 x 更有效。

关于用于创建和操作列表的 Python 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17473979/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com