2013-10-14 3 views
1

안녕하십니까 목록의 목록 이름을 인쇄하려고합니다. 나는 다음을 시도했다. 그러나 내가 할 수있는 것은리스트의 값을리스트에 출력하는 것이다. 목록의 이름이 아닌 :목록에있는 목록의 이름 인쇄

list1 = [1,2,3] 
list2 = [1,2] 
list3 = [1,2,3,4] 
lists = [list1,list2,list3] 

for x in lists: 
    if len(x) == 4: 
    print (x) 
+2

목록의 요소에는 이름이 없으며 위치가 있습니다. – Matthias

+0

목록에는 이름을 지정할 수 있기 때문에 고정 된 이름이 없습니다. 귀하의 질문에서 당신이 무엇을 요구하는지 명확하지 않습니다. –

+0

@GamesBrainiac 그는 키의 이름을 얻을 수있는 사전이나 키/값 구조를 찾고 있다고 생각됩니다. – Kjartan

답변

4

여기 dictionary 사용이 과제는 단순히 세 가지 목록 객체에 대한 새로운 참조를 만들기 때문에 lists = [list1,list2,list3] 여기에 작동하지 않습니다 사용

>>> dic = {'list1': range(1, 4), 'list2':range(1, 3), 'list3':range(1, 5)} 
>>> for k, v in dic.items(): 
...  if len(v) == 4: 
...   print k 
...   
list3 

.

>>> lists[0] is list1 
True 

따라서, 객체 [1,2,3]는 두 개의 참조를 지금 list1lists[0] 있습니다.

+0

도움 주셔서 감사합니다 – Mark

0

그건 불가능합니다. dict을 사용하고 이름을 키로 사용하고 목록을 값으로 설정하는 것이 좋습니다.

+0

도움 주셔서 감사합니다 – Mark

1

예, 목록이 아닌 할 수 있습니다. dict [dictinary]를 더 잘 사용할 수 있습니다. 사전은 파이썬에서 해시 구조이며 키와 키와 연관된 값입니다. 키 - 값 쌍을 만듭니다.
보통 목록 인쇄 D [하나] 인쇄되는 '1'처럼 액세스 될 수

d = {'one':1,'two':2} 

같은 것;

귀하의 경우, 우리는 같은 DICT를 ... 사용할 수 있습니다

d = {'list1': list1,'list2': list2,'list3': list3} 

되는 목록 1의 인쇄 D처럼 불리는 [목록 1] 인쇄의 모든 요소. :)

+0

도움 주셔서 감사합니다 – Mark