#python-2.7
#python-2.7
Вопрос:
У меня есть dict. вот так
dict =
{0: ['a','b','c'],
-0.75: ['a','b','c'],
.
.
.
}
Я хочу напечатать этот dict в следующем формате (по одному на строку)
a 0
b 0
c 0
a -0.75
b -0.75
c -0.75
.
.
.
Ответ №1:
Этот код должен сделать свое дело:
for k, v in dict.iteritems():
for item in v:
print item, k
Комментарии:
1. @user1290757 Пожалуйста, предложите улучшения кода к ответам через комментарий, а не меняйте ответ. Ваш код может быть неправильным или изменять смысл ответа.
2. Спасибо, потребовалось так много времени, и я пришел к тому же выводу, просто немного изменил печать: <br/>
print (str(item) ' ' str(key))
3. @user1290757, в моем исходном опубликованном коде нет переменной с именем key. print (str(item) ‘ ‘ str(k)) будет работать .
Ответ №2:
Попробуйте это:
for key,value in d.items():
for val in value:
print "%s --> %s"%(val,key)
Функция items() вернет список кортежей, в данном случае
[(0, ['a', 'b', 'c']), (-0.75, ['a', 'b', 'c'])]
затем мы повторяем цикл по этому списку второй раз и получаем желаемый результат.
Ответ №3:
Попробуйте это
for key, val in dict.items():
for eachval in val:
print eachval, key