2014-11-12 3 views
0

문자열 목록을 사용하려고하는데, 그 중 일부는 반복됩니다. 그러나 나는 필요한 수준의 문자열 중첩을 얻을 수없는 것 같습니다.파이썬 : 목록에 문자열이 여러 개 복사되었습니다.

저는 아직 파이썬에서 초보자입니다. 혼란 스럽습니다. 나는 this answer을 읽고 그것을 구현하려고 시도했지만, 어떻게 든 다른 유형의 목록과 다르게 행동하는 특수한 경우의 문자열 목록입니까?

나는 실행하는 경우 :

old_freestream_headings='area,MM static pressure,MM relative mach number,' 
old_integral_headings='dp,Impulse:0,Impulse:1,Impulse:2,' 
old_forces_headings=('pressure force vector:0,pressure force vector:1,pressure force vector:2,' 
        'viscous force vector:0,viscous force vector:1,viscous force vector:2,')       
old_headings=[old_freestream_headings*2,old_integral_headings,old_forces_headings*5] 
print(filter(None,old_headings[0].split(','))) 

나는 결과로 얻을 :

첫 번째 문자열의 모두 사본입니다
['area', 'MM static pressure', 'MM relative mach number', 'area', 'MM static pressure', 'MM relative mach number'] 

.

대신 경우에 나는 실행

old_freestream_headings='area,MM static pressure,MM relative mach number,' 
old_integral_headings='dp,Impulse:0,Impulse:1,Impulse:2,' 
old_forces_headings=('pressure force vector:0,pressure force vector:1,pressure force vector:2,' 
        'viscous force vector:0,viscous force vector:1,viscous force vector:2,')       
old_headings=[[old_freestream_headings]*2,old_integral_headings,[old_forces_headings]*5] 
print(filter(None,old_headings[0].split(','))) 

나는 오류가 발생 :

AttributeError: 'list' object has no attribute 'split' 

old_headings [0] 두 문자열 목록 지금처럼 나는 더 이상 문자열을 분할하고 있지 않다 때문이다. 내가 좀하고 싶습니다

출력은 문자열의 한 사본에 분할을 적용한다

['area', 'MM static pressure', 'MM relative mach number'] 

입니다.

내가 뭘 잘못하고 있니?

+0

*하지만 어떻게 든 문자열의 목록을 다른 유형의 목록을 다르게 작동 특별한 경우? * 아니 –

+0

'[old_freestream_headings]'이 당신이 포장된다 새 목록 안에있는 목록은 의도적 인 것입니까? –

+0

왜'old_freestream_headings.split (',')'가 아닌가? 또는'old_headings [0] .split (",", 3) [0 : 3]'을 사용 하시겠습니까? –

답변

1

난 당신이 함께 목록을 추가하는 것을 의미 생각

old_headings = [old_freestream_headings] * 2 + [old_integral_headings] + [old_forces_headings] * 5 
+0

감사합니다! 이것은 내가 이전에 그것을 얻지 못했다는 어리석은 것처럼 보이지만, 이것은 정확하게 내가하려고했던 것입니다. – moink

관련 문제