文字列のリスト words を引数に取り、各文字列に含まれる文字数のリストを返す関数 lengths(words) を定義せよ
動作例
lengths(['We', 'are', 'University', '!'])
[2, 3, 10, 1]
回答
def lengths(words):
この後の過程を教えてください
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答4件
0
次のコードを研究してみてください。
python3
1from functools import reduce 2 3def lengths_1(words): 4 ans = [] 5 for w in words: 6 ans.append(len(w)) 7 return ans 8 9def lengths_2(words): 10 return [len(w) for w in words] 11 12def lengths_3(words): 13 return list(map(len, words)) 14 15def lengths_4(words): 16 return list(map(lambda x: len(x), words)) 17 18def lengths_5(words): 19 return reduce(lambda ans, x: ans + [len(x)], words, []) 20 21word_list = ['We', 'are', 'University', '!'] 22 23print("lengths_1:", lengths_1(word_list)) 24print("lengths_2:", lengths_2(word_list)) 25print("lengths_3:", lengths_3(word_list)) 26print("lengths_4:", lengths_4(word_list)) 27print("lengths_5:", lengths_5(word_list))
投稿2021/09/26 08:14
総合スコア22324
0
ベストアンサー
return [len(w) for w in words] # 別解 return list(map(len, ["AA", "B", "CCC"]))
とすればOKです.
投稿2021/09/26 06:27
編集2021/09/26 06:49総合スコア1248
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
丸ごと教えては勉強になりませんので、何を読めば良いかを書いておきます。
文字列に関する処理については、公式ドキュメント テキストシーケンス型 --- strをお読みください。
リストに関する処理については、公式ドキュメント シーケンス型 --- list, tuple, rangeをお読みください。
この2つを読めば、関数の中に書かなければならないことは実現できます。
ただし読みやすいコードを書きたいなら、公式ドキュメント 5.1.3. リストの内包表記も読んでおいた方が良いでしょう。
投稿2021/09/26 06:16
総合スコア24666
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/09/26 11:47