2014-09-11 2 views
-1

У меня есть программа в питона, подобный:Python: Получить имя списка в виде строки

from collections import defaultdict 

d = defaultdict(list) 
L = ['A', 'B', 'C'] 

for l in L: 
    d[l].append('') 

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

Например:

for List in d: 
    print str(List) 

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

'A' 
'B' 
'C' 
+1

Цикл «для списка в d», который вы написали выше, фактически распечатает ключи словаря («имена списков»), а не «содержимое списка», как вы ожидаете. Попробуйте снова! –

+1

Я в замешательстве. Код, который вы опубликовали, будет печатать A, B и C. Разве это не то, что вы хотите? – Kevin

ответ

2

Это уже в словаре справа? Просто используйте ключи словаря.

for key, val in d.items(): 
    print(key, val) 

Или, если вы просто хотите перебрать ключи, вы можете использовать то, что вы изначально использованием (итерация словаря только перебирает клавиши по умолчанию), или для большей ясности вы можете итерацию над keys() способ.

for key in d.keys(): 
    print(key) 
Смежные вопросы