从多个列表制作字典

Make dictionary from multiple list

我有一个客户列表,我想为每个客户生成一个 1 到 4 之间的随机数列表。我使用了下面的代码:

import numpy as np
import random
import pandas as pd

customer = [1, 2, 3]
for k in customer:
    priority = list(range(1,5))   # list of integers from 1 to 4
    random.shuffle(priority)
    print(priority)   # <- List of unique random numbers
[4, 1, 3, 2]
[3, 1, 2, 4]
[4, 3, 1, 2]

但我想要一个像这样的字典:

priority = {1:[4, 1, 3, 2], 2:[3, 1, 2, 4], 3:[4, 3, 1, 2]}

我将如何在 python 中执行此操作?

您只需要对现有循环稍作修改即可。您可以使用现有的 k 分配新的字典键和值:

import numpy as np
import random
import pandas as pd

customer = [1, 2, 3]
priority_dict = {}
for k in customer:
    priority = list(range(1,5))   # list of integers from 1 to 4
    random.shuffle(priority)
    print(priority)   # <- List of unique random numbers
    priority_dict[k] = priority
#[4, 1, 3, 2]
#[3, 1, 2, 4]
#[4, 3, 1, 2]

print(priority_dict)

#{1: [3, 1, 4, 2], 2: [2, 1, 4, 3], 3: [1, 3, 2, 4]}