2014-09-03 6 views
-1

у меня есть словарь с каждым ключом, содержащим несколько значений (список):питон печати кратного значения ключа в разных строках

one = [1,2,3] 
two = [1,2,3] 
three= [1,2,3] 

Оно было получено с помощью следующей строки кода:

output_file.write('{0}\t{1}\n'.format(key,"\t".join(value))) 

Таким образом, моя окончательная печатная продукция выглядит так:

one 1 2 3 
two 1 2 3 
three 1 2 3 

Моя цель состоит в том, stead:

one 1 
one 2 
one 3 
two 1 
two 2 
… 

Любые советы?

+2

Использование петель? – bereal

ответ

1

Вы можете добавить сам ключ в качестве разделителя

#key = "one" 
#value = ['1','2','3'] 
print(key+'\t'+'\n{0}\t'.format(key).join(value)) 

выход

one 1 
one 2 
one 3 
+0

это замечательно! Именно то, что я хотел, не зная, как это сделать :) Большое спасибо! – user3188922

0

Вы можете сделать это с вложенными для петель:

for key, value_list in my_dict.iteritems(): 
    for value in value_list: 
     output_file.write("{}\t{}\n".format(key, value)) 
+0

Спасибо, я попробовал, но я получаю «ValueError: слишком много значений для распаковки», и я не уверен, что делать! – user3188922

0

это может также работать ...

#key = "one" 
#value = ['1','2','3'] 
print '\n'.join(map(lambda i: key+'\t'+str(i), value)) 
Смежные вопросы