2016-06-07 2 views
0

Я понимаю, что вы можете быстро отметить это как дубликат, но я искал и не могу найти что-либо, чтобы помочь с проблемой , с которой я сталкиваюсь в создании моей хэш-карты между двумя списки.Создание определенной хэш-карты из двух списков

Я имею дело со многими переменными, поэтому я упрощу его: у меня есть список меток vars = ['L1', 'L2']. Я хочу создать второй список values = [rL1, rL2], в котором rL1 и rL2 являются случайными (неизвестными) целыми числами, присвоенными надписям выше, определенным (например) rL1 = random.randit(0,10).

Моя цель состоит в том, чтобы создать хеш-карту вида:

{'L1' : rL1, 'L2' : rL2}.

Обратите внимание, что значения (целые числа) не должны содержаться в кавычках.

Прямо сейчас у меня есть:

def genSampVal(vars): 
    rL1 = random.randit(0,10) 
    rL2 = random.randit(0,20) 
    values = ["r" + vars[i] for i in xrange(0, len(vars))] 
    print dict(zip(vars, values)) 
vars = ['L1', 'L2'] 
genSampVal(vars) 

Но это дает мне

{'L1' : 'rL1', 'L2' : 'rL2'}.

Я пробовал играть с .join и так далее, но я возвращаю некоторые странные вещи.

Любая помощь будет очень признательна!

РЕДАКТИРОВАТЬ: показать вам, что я хотел бы здесь, продолжить. Если я создаю хэш-карту себе, я могу установить

map = {'L1' : rL1, 'L2' : rL2}

где печати карты даст что-то вроде

{'L1' : 8, 'L2' : 13}.

Поскольку я имею дело со многими, многими переменными, и я не хочу вручную вводить свою хэш-карту вручную, я ищу функцию, которая будет обрабатывать это для меня. Тот, который я построил, похоже, не помнит, что его значения являются целыми числами.

ответ

0

, если вы имеете в виду { 'L1': random_value, 'L2': random_value}, BTW его random.randint

def genSampVal(vars): 
    values = [random.randint(0,10) for i in xrange(len(vars))] 
    return dict(zip(vars, values)) 


vars = ['L1', 'L2'] 
print genSampVal(vars) 
Смежные вопросы