はじめに
Pythonを勉強するため、東京工業大学の岡崎教授が出題されている言語処理100本ノック 2015を解いていきます。
より深く理解するため、別解や利用したライブラリの解説もまとめていきます。
環境
Python3.6
OS : mac lint : pep8
問題
00. 文字列の逆順
文字列"stressed"の文字を逆に(末尾から先頭に向かって)並べた文字列を得よ.
解答:str[::-1]
# 回答2
word = "stressed"
rev_word = word[::-1]
print(rev_word)
出力
desserts
解説
コロンを挟んだ位置はそれぞれ[start:stop:step]
となっています。
3番目のstep
が正のとき、要素を間引きします。
word = "1234567890"
rev_word = word[::1]
>>> 1234567890
rev_word = word[::2]
>>> 13579
rev_word = word[::3]
>>> 1470
3番目のstep
が負のとき、逆順に要素を間引きします。
word = "1234567890"
rev_word = word[::-1]
>>> 0987654321
rev_word = word[::-2]
>>> 08642
rev_word = word[::-3]
>>> 0741
別解1:reverced()
word = "stressed"
rev_word = "".join(reversed(list(word)))
print(rev_word)
出力
desserts
解説
reverced()
はリストの逆順を返す関数です。
wordは文字列であるため、reverced(word)
は受け付けません。
文字列をリストに変換するlist()
を挟んで渡します。
リストを結合するときは"".join()
を利用します。""
を","
とするとカンマ区切りの文字列が出来ます。
",".join(['a','b','c'])
>>> a,b,c
続いての記事
次の問題:01. 「パタトクカシーー」
Python:ファイルダウンロードの進行状況とファイルサイズを表示する方法。urllib
Pythonschedule2024-02-27
【Python】tqdmでforの進捗状況を表示する
PythonColabolatoryschedule2021-02-16
学習済みの日本語単語ベクトルをColabolatoryで試してみる
自然言語処理PythonColabolatoryschedule2021-02-04
Unity ML-Agentsで新しく学習環境を作る
Unity機械学習C#PythonDeepLearningschedule2021-01-22
27. 内部リンクの除去
自然言語処理100本ノックPythonschedule2020-03-17