【发布时间】:2016-02-15 04:51:06
【问题描述】:
class Agent:
def __init__(self, state):
self.state = state
#initialize values
state_0_agents = 10
state_1_agents = 10
numberofselections = 2 #number of agents who can choose to transition to the higher plane
#list of agents
agents = [Agent(0) for i in range(state_0_agents)]
agents.extend(Agent(1) for i in range(state_1_agents))
random.choice(agents)
你好! 所以我想从这个代理列表中随机选择几个代理,我最终将其状态更改为 1。不幸的是,随机选择函数在所有元素中进行选择。但是我只想随机选择那些状态为 0 的人。
如果可以在不创建新列表的情况下发生这种情况,我更愿意。
【问题讨论】:
-
我认为您的选择是创建一个新列表然后从中进行选择,或者反复随机选择直到您选择的列表状态==0。
-
您要么必须创建一个新列表,要么继续重试
random.choice()调用,直到它返回一个将.state设置为0的调用。 -
如果我继续重试随机选择,那么可能在一段时间内什么都不会发生。