我有一个简单的嵌套变量列表,其中有6个玩家的名字。如下所示。
player_options = [[person_1, person_2],[person_3, person_4], [person_5, person_6]]
我想从第一个嵌套中得到一个随机变量,然后从第二个或第三个嵌套中获得一个。我目前可以从第一个嵌套和第二个或第三个嵌套中随机选择一个,但不能从第二个和中选择第三个?
我目前拥有的代码是
pair_1 = random.choice(player_options[0]) + random.choice(player_options[1])
如何从嵌套[0]中获得随机选择,从嵌套[1]或[2]中获得随机选项?
如果你需要更多信息,请告诉我!
谢谢:(
如果你想让列表2和3中所有玩家的概率都是一致的,你可以将列表连接起来:
pair_1 = random.choice(player_options[0]) + random.choice(player_options[1] + player_options[2])
如果你想首先在列表之间进行50%-50%的分割选择,然后在所选列表之间进行统一选择,你可以连锁2个choice
调用,比如:
pair_1 = random.choice(player_options[0]) + random.choice(random.choice(player_options[1:3]))
注意,如果列表2和3的成员的长度不同,则这些成员被选择的概率不同。所以你应该选择一个适合你的目的。
怎么样
biggest_index = len(player_options) - 1 # Get the biggest/last index
second_choice = random.randint(1,biggest_index) # Chose a random index between the second (1) and the last one
pair_1 = random.choice(player_options[0]) + random.choice(player_options[second_choice])
或者第二次使用两次选择功能:
second_choice = random.choice(player_options[1:]) # Choose random element after first index
pair_1 = random.choice(player_options[0]) + random.choice(second_choice)
您可以简单地加入最后两个嵌套,并在加入的列表中进行随机选择。
pair_1 = random.choice(player_options[0]) + random.choice(player_options[1]+player_options[2])