创建自增函数

问题描述 投票:0回答:1

说我有两个字典对象,例如:

members = {"member1" : ["PCP1", "PCP2", "PCP3"],
          "member2": ["PCP1", "PCP2", "PCP3"],
          "member3": ["PCP1", "PCP2", "PCP3"],
          "member4": ["PCP1", "PCP2", "PCP4"],
          "member5": ["PCP1", "PCP3", "PCP4"]}

providers = {"PCP1": 2, "PCP2": 1, "PCP3": 2, "PCP4": 1}

我创建了一个函数,该函数可以计算每个提供者(PCP)的请求计数与每个可用的实际插槽之间的差异,如providers中所示。我必须在此处发布的函数太长,超过50行,无法在此处发布,但是基本上它着眼于差异,如果存在差异,它会创建一个sample_counter并使用该函数从成员列表中随机抽取一个成员对于那些提供商。它应该从存在差异的情况开始,例如“ PCP4”,只有两个members请求他/她,因此该功能将在两个之间进行选择,然后选择一个并附加到匹配字典中并删除因为它们现在已满,所以它们来自members,并且来自providers的“ PCP4”。然后,对于从随机选择中选择的那个成员,它们保留在members中,但是现在他们的PCP列表仅包含其他提供者,因为从他们的选择列表中删除了“ PCP4”。

例如,如果未从random.sample中选择“ member4”,因此结果匹配,则结果看起来像这样:

members = {"member1" : ["PCP1", "PCP2", "PCP3"],
          "member2": ["PCP1", "PCP2", "PCP3"],
          "member3": ["PCP1", "PCP2", "PCP3"],,
          "member5": ["PCP1", "PCP3"]}

providers = {"PCP1": 2, "PCP2": 1, "PCP3": 2}

matches = {"member4" : "PCP4"}

我创建了一个函数,如果需要,我将共享该函数,当计数之间只有一个差异而只有一个样本时,它将进行随机选择,但是我希望它能持续增长,例如选择两个区别是两个,依此类推。我基本上可以一遍又一遍地编写相同的函数,然后依次写3、4,依此类推,直到members中不再有“成员”为止。但想知道是否有更有效的方法。

说我有两个字典对象,例如:member = {“ member1”:[“ PCP1”,“ PCP2”,“ PCP3”],“ member2”:[“ PCP1”,“ PCP2”,“ PCP3”],“ member3“:[” PCP1“,” PCP2“,” PCP3“],” ...

python dictionary auto-increment
1个回答
1
投票

如果发布函数,可能会很有帮助,但是您提供的信息我认为一个解决方案可能是:

© www.soinside.com 2019 - 2024. All rights reserved.