Python -将列表值添加到字典中,但确保它们不连续
你好。我有一个名单,说:l = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
我也有一个字典,有3个空列表的键,比如:
sample = {
"A": [],
"B": [],
"C": [],
}
我需要将列表的值插入到字典的值中,但要确保每个键只有4个值,并且它们不能连续。
例如,这是正确的,因为每个键有4个值,并且没有一个是连续的:
sample = {
"A": [1, 3, 5, 7],
"B": [2, 10, 12, 8],
"C": [4, 11, 9, 6],
}
这些值可以是随机的(也就是说,它们不需要按升序/降序排列),但它们必须来自列表。有人能帮帮我吗?
这是我目前所知道的它将值插入到列表中,但这些值都是连续的。
`overs = []
# Creates a list with values from 1 to 12
for i in range(1, 13):
overs.append(i)
print(overs)
players = {"A": [], "B": [], "C": []}
# Creates a dictionary where the values of the list are inserted into the values of the dictionary
for player in players:
for i in range(1, 13):
try:
if len(players[player]) < 4:
players[player].append(overs[0])
overs.pop(0)
except IndexError:
break
print(players)`
Output :
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
{'A': [1, 2, 3, 4], 'B': [5, 6, 7, 8], 'C': [9, 10, 11, 12]}
3条答案
按热度按时间ygya80vv1#
在做一些更复杂的事情之前,我会简单地将第一个项目放在第一个桶中,下一个放在下一个桶中,使用模运算符进行 Package 。
这将为您提供:
(每一次)
jexiocij2#
创建具有3个键和4个不连续值的字典
5vf7fwbs3#
如果你想让分布更随机,你也可以试试这个:
样本输出: