I have a list of customers, and I want to generate a list of random numbers between 1 to 4 for each customer. I used the code below:
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]
but I want to have a dictionary like:
priority = {1:[4, 1, 3, 2], 2:[3, 1, 2, 4], 3:[4, 3, 1, 2]}
How would I go about doing this in python?
Advertisement
Answer
Slight modifications to your existing loop is all you need. You can use your existing k to assign a new dictionary key & value:
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]}