2017-10-21 13 views
0

現在、リストのサブリスト内の単語の長さを把握し、それらを一緒に追加する必要があるプログラムを作成中です。現在、私が持っているコードは、個々の単語の文であるリストを壊すことができ、今ではサブリストの個々の単語の長さを見つける必要があります。 counter_split_listを使うたびに、文中の単語を数えます。あなたの入力は文字列ではなくリストのリストではありません、リストのサブリストの長さを見つけるPython

def split_by_whitespace (['It', 'is', 'a', 'truth', 'universally', 'acknowledged'], ['that', 'a', 'single', 'man', 'in', 'possession', 'of', 'a', 'good', 'fortune', 'must', 'be', 'in', 'want', 'of', 'a', 'wife']): 
    l = my_string 
    split_list =[i.split() for i in l] 
    #counter_split_list=[len(i) for i in split_list] 
    return(split_list) 

Words in Sublists

+0

ご希望の出力は何ですか? – Ajax1234

+0

'my_string'の例と、あなたが見ている結果と、望む結果を挙げてください。 –

+1

split_listの中でlst(word in lst) 'を試してください。しかし、私は1つのライナーを提案していません。 – Rockybilly

答えて

0

私が想定しています

は、ここに私のコードです。これらのサブリストには、入力例に示すような単語が含まれています。その場合、次の関数はあなたが望むようにあなたのために各単語の長さを返します。

# Modified version of your function 

def split_by_whitespace (my_string): 
    sentence_all_len = [] 
    for sentence in my_string: 
    sentence_len = [len(word) for word in sentence] 
    sentence_all_len.append(sentence_len) 
    return sentence_all_len 

# I assume your input looks like this as you provided in your question, though in a wrong way. 
list_of_strings = [['It', 'is', 'a', 'truth', 'universally', 'acknowledged'], ['that', 'a', 'single', 'man', 'in', 'possession', 'of', 'a', 'good', 'fortune', 'must', 'be', 'in', 'want', 'of', 'a', 'wife']] 

# Output statement with a call to your function with the list of lists as an input 
print(split_by_whitespace(list_of_strings) 

出力:

[[2, 2, 1, 5, 11, 12], [4, 1, 6, 3, 2, 10, 2, 1, 4, 7, 4, 2, 2, 4, 2, 1, 4]] 
関連する問題