2016-12-01 3 views
0

문자열이 있습니다. -XX-XXX-XX- 각 X를 계산하고 이후에 추가하려고합니다. 위의 문자열은 결국 [2, 3, 2]가되어야합니다. 내가 쉼표까지 세고를 추가하려면 내 목록 [ 'XX', 'XXX'와 'XX']에서 각각 'X'를 들어목록 문자열의 각 요소를 계산합니다.

knots = '-XX-XXX-XX-' 

#Converting above string to ['XX', 'XXX', 'XX'] 
knots_without_dashes = knots.split('-') 

: 여기 내가 무엇을 최대 온의 조각입니다 카운터 라이브러리를 사용하지 않고 빈 목록이됩니다.

+0

음 ... 당신은 당신의 출력이'[2, 3, 2]'이어야한다고 생각하십니까? 질문을 편집하고 싶을 수도 있습니다! 그렇지 않으면 내 대답이 정확하지 않습니다. –

+0

예 편집 내 불량 – SoA

+0

:) 나는 그렇게 생각했다! –

답변

1
[len(segment) for segment in knots.split('-') if len(segment)>0] 

이렇게하면 '-'로 구분 된 각 블록의 길이로 구성된 목록이 만들어집니다.

+0

도움을 주시면 감사하겠습니다.이 질문은 정확히 전체 문제의 후반을 해결하기 위해 찾고있는 것입니다. – SoA

+0

NP! 이것은 매우 '파이썬적인'문제입니다. 따라서이 기능을 "목록 이해 (list comprehension)"라고하는 전형적인 해결책입니다. –

관련 문제