2016-10-23 10 views
-1

어떻게 파이썬의리스트에있는 한 단어의 한 단어의 길이를 측정 할 수 있습니까? 내가 작성하는 경우 :리스트에서 한 단어의 길이를 측정하는 방법

>>> lst=['Hi Andrea how are you','Happy birthday'] 
>>> print(len(lst)) 
5 

을 나는이 필요합니다

>>> [ 2 6 3 3 3 , 5 8 ] 

하나의 단어의 단일 측정.

답변

1

나는 당신이 무엇인지 확인할 수 있습니다. 이 목록의 목록의 길이를 제공

>>> lst=['Hi Andrea how are you','Happy birthday'] 
>>> [[len(i) for i in x.split()] for x in lst] 
[[2, 6, 3, 3, 3], [5, 8]] 

하십시오 지능형리스트를 사용합니다.

+0

을 A = 1, B = 3, 나는 목록에서 a와 b 사이의 크기가 단어를 찾을 수있다 , 내가 어떻게 할 수있는? –

+0

그건 또 다른 문제입니다. 당신은 새로운 질문으로 게시해야합니다. –

+0

그냥 잠깐! –

1

모세 콜레도 예 (Moses Koledoye)가 저를 때렸습니다.하지만 여기서 좀 더 자세한 답변을 드리겠습니다.

예를 들어 목록을 반복하여 각 단어의 길이를 계산할 수 있습니다. 각 문장의 단어를 분리해야합니다.

문자열 문장에서 개별 단어를 얻는 간단한 방법은 파이썬의 split()을 사용하는 것입니다. len()

다음
>>> 'Hi Andrea how are you'.split() 
['Hi', 'Andrea', 'how', 'are', 'you'] 

는 각 단어의 길이를 찾기 위해, 사용 :이 공백 (또는 주어진 문자)를 기반으로 텍스트를 분할하고 목록에서 결과를 반환합니다

>>> len('hi') 
2 

(모세의 대답에서 볼 수 있듯이) list comprehension를 사용하여 함께 좋은 간결한 방법으로 이러한 결합 할 수 있습니다 :

[[len(word) for word in sentence.split()] for sentence in lst] 

지능형리스트가 혼란 스러울 수 있기 때문에, 이것은 완전히 기입처럼 보일 수 있습니다 무엇 : (때로는 더 복잡하지만) 많은 좋네요 대신에 지능형리스트를 사용하는 이유

all_lens = [] 
for sentence in lst: 
    word_lens = [] 
    for word in sentence.split(): 
     word_lens.append(len(word)) 
    all_lens.append(word_lens) 
print(all_lens)  
[[2, 6, 3, 3, 3], [5, 8]] 

지금 당신이 볼 수 있습니다. 파이썬에서 중첩 된리스트 통합에 대한 자세한 배경에 대한

이 관련 질문을 참조 : 나는 두 변수가 python nested list comprehension

+0

위대한 설명. 귀하의 현재 평판을 고려하여 매우 상세합니다. SO에서 위대한 여행을 보내십시오. –

관련 문제