2016-09-24 1 views
0

을받은 :형식 오류 : 기술자 '추가'는 '리스트'개체가 필요하지만이 같은 사전 객체가 for 루프에서 'DICT'

mob1 = { 
    "Item": item1, 
    'Price': price1, 
    'Desc': desc1 
} 

을 내가 추가하는 시도가 좋아 :

list.append(mob1) 

나는 다음과 같은 오류가 발생합니다 :

Traceback (most recent call last): 
    File "/home/turbolab/Documents/python_test/Sep 23 data_to_json test.json", line 32, in <module> 
    list.append(mob1) 
TypeError: descriptor 'append' requires a 'list' object but received a 'dict' 
+0

무엇을하려고합니까? 목록에 추가 할 사전의 요소는 무엇입니까? 문제를 충분히 설명하지 않으면 다른 사람들이 당신을 도울 수 없습니다. –

+0

나는 이름, 가격 및 웹 페이지에서 항목의 설명을 얻으려고하는데, json 파일에로드 할 때, iam은 이름, 가격 및 마지막 항목에 대한 설명 만 얻고, 덮어 쓰게됩니다. 사전에 for 루프에 list.append()를 사용했습니다. – arjun

+0

왜'test.json'라는 이름의 파이썬 파일이 있습니까? 또한 list.append는 dict가 아닌 목록 객체를 기대하며 작동하더라도 아무런 도움이되지 않습니다. –

답변

3

list는 클래스입니다. appendlist의 인스턴스에서 호출되어야하는 해당 클래스의 메소드입니다.

list.append(7) # error 

mylist = list() 
mylist.append(7) # ok 
+0

저는 초심자입니다. 7 세는 무엇입니까? 객체?? mob1 내가 내 데이터를 저장하고 mob1을 7로 바꿀 필요가있는 내 개체입니까? – arjun

+0

@arjun 모든 것이 개체이지만 여기에는 관련이 없습니다. (mob1과 같이) 많은 dict 객체를 만들고 싶다면, 먼저 빈리스트'many_mobs = []'를 생성 한 다음, mob_mobs.append (mob1)을 원하는만큼 여러 번 넣으십시오. – zvone

+0

이렇게 편집했습니다. mob1 = { \t \t \t "항목"항목 1, \t \t \t '가격'price1, \t \t \t '제품 설명'desc1 \t \t \t \t} 으로 myList = [] \t mylist.append (mob1) \t print mob1 // cmd 프롬프트에서 데이터의 전체 목록을 얻고 있지만 json 파일에로드 될 때 문제는 동일하게 남아 있습니다 (i, e) 만 마지막 항목의 세부 정보 만 가져옵니다. 10 개의 항목이 있으며 10 번째 항목의 세부 정보 만 덮어 쓰는 것 같습니다. – arjun

0

list.append([mob1['Item'],mob1['Price'],mob1['Desc']])을 사용해 보셨습니까?

+0

예.이 시도했지만 unfortunatley 작동하지 않습니다. – arjun