2017-03-13 7 views
-1

초급 질문입니다.루프를 사용하여 빈 목록 이름 만들기

여러 개의 빈 목록을 만들고 이름을 지정하고 싶습니다. 현재 나는 그것에게 절대 안전한하지만 성가신 방법을하고있는 중이 야,

size_list=[] 
type_list=[] 
floor_list=[] 

나는, 덜 복잡 할 노력하고

for item in ['size', 'type']: 
    item+'_list'=[] 

그러나, 이것은 다음과 같은 오류가 발생

,

item+'_list'=[] 
    ^
SyntaxError: can't assign to operator 

이 문제를 쉽게 해결할 수 있습니까, 아니면 이름이있는 빈 목록을 만드는 또 다른 방법을 사용해야합니까?

+0

"쉽게 고칠 수 있습니까?" 'sizes','types','floors'와 같은 더 간단한 이름을 부르세요 :) –

+0

하, 그래. 하지만 "_list"부분을 추가하고 싶습니다. – LucSpan

+1

'size_list, type_list, floor_list = [], [], []' 이게 당신이 원하는 것입니까? –

답변

4

별도의 변수로 추적 할 데이터가 많은 경우 관련 변수 이름에 의존하지 마십시오. 이러한 변수를 정의한 후에는이 모든 변수에 대해 코드에서 무엇을 할 것입니까?

datalists = dict() 
for item in ['size', 'type']: 
    datalists[item] = [] 

부록 : 사전 사용하여 사전을 사용하여 을, 당신은 당신의 다른 레이블에 대한 모든 목록 값을 (그들이 무엇이든)를 포함하는 하나 개의 변수가있다. 그러나 아마도 (해당 이름의 선택으로 판단 할 때) 해당 목록 위치의 값은 함께 사용하기위한 것입니다. 예 : size_list[0]type_list[0] 등의 요소 크기입니다. 이 경우 훨씬 더 좋은 디자인은 각 요소를 사용자 정의 클래스의 단일 튜플, dict 또는 객체로 나타내며 모든 객체의 단일 목록을 갖는 것입니다.

튜플 (이름이 붙든 그렇지 않든)은 수정할 수 없으므로 필요한 내용이 아닐 수 있습니다. 그렇다면 튜플 대신 사전을 사용하거나 간단한 클래스를 작성하십시오.

+0

그래, 실제로 'x_list [i]'는 [! size ','type ', ...,'floor ']에있는 x, y가 x! = y'이고'i = 0' , 1, ..., 3000'. 모든 'i'는 속성 광고를 나타냅니다. 궁극적으로 저는 각 아파트가 'i'인 행과'[ 'size', 'type', ..., 'floor'] 열의 테이블을 만들고 싶습니다. 당신의 부록이 이것에 적합한 지 확실하지 않은가요? – LucSpan

+0

있습니다. 각 아파트에 대한 튜플 또는 사전 (또는 사용자 정의 'Apartment'클래스의 객체)을 만듭니다. 다르게 말하기 : ** ** 아파트 **를 어떻게 표현하는지 생각한 다음 간단히 목록을 작성하십시오. – alexis

+0

고마워요! 나는 생각할 것이다. – LucSpan