-1

.lstrip のような関数を作成する必要があります。文字の出現回数をカウントする関数は既に完成しています。この関数を使用して、*my_lstrip* と呼ばれるこの関数を完了することができますか? 私が抱えている唯一の問題は、文字列から文字/単語を削除する方法です。方法が思い浮かびません....

誰かの記憶をリフレッシュするために: lstrip は、先頭に出現する文字列を削除します。

インデックス作成は選択の余地がないと思いますが、まだ考えています。誰かの助けをいただければ幸いです。length、count、find などの関数は既に完成しているので、ここでこれらの組み合わせを使用できる場合は素晴らしいことです。さらに情報が必要な場合はお知らせください。ありがとうございます。何か思いついたら、コードを投稿して、他の人がそれを調べて間違いを確認できるようにします。

4

1 に答える 1

0

Python の文字列は不変であるため、文字列から何かを削除することはできません。あなたができることは、新しい文字列を作成し、次のようにいくつかの先頭文字を省略することです:

def my_lstrip(p, s):
     """Remove leading occurences of p from s
     Keyword arguments:
     p - pattern to remove
     s - input string

     >>> my_lstrip('f', 'foo')
     'oo'
     >>> my_lstrip('foo', 'foobar')
     'bar'
     >>> my_lstrip('foo', 'foofoofoobar')
     'bar'
     >>> my_lstrip('o', 'ooooofoo')
     'foo'
     >>> my_lstrip('fooo', 'foo')
     'foo'
     >>> my_lstrip('bar', 'foo')
     'foo'
     """
     return  my_lstrip(p, s[len(p):]) if s.startswith(p) else s

これはより効果的に行うことができます (一致するたびに新しい文字列を作成する必要はありません) が、それは演習として残しておきます。

于 2013-10-19T18:53:38.220 に答える