ホームページ  >  記事  >  バックエンド開発  >  Lao Qi から Python を学び、文字列で遊ぶ (3)

Lao Qi から Python を学び、文字列で遊ぶ (3)

WBOY
WBOYオリジナル
2016-06-16 08:42:03944ブラウズ

文字列はトピックの中心です。

文字列に番号を付けます

多くの場合、文字列内の各文字を操作する必要があります (詳細については、次の内容を参照してください)。正確に操作するには、文字に番号を付ける必要があります。たとえば、クラスに 50 人の生徒がいる場合、これらの生徒全員が生徒 ID を持っている場合、教師は生徒 ID を操作するのがはるかに簡単になります。たとえば、各人の名前を探す必要はなく、学生番号によって誰かが宿題を提出したかどうかを直接知ることができます。

Python では、文字列にこの順序で番号を付けます。左の最初の文字列から始まり、下に向かって 1、2... と整数ずつ増えていき、最後の文字列までになります。このプロセスでは、スペースを含むすべての文字が対象となります。 、変更されます。例:

こんにちは、世界

この文字列の改善の順序は、左から右に次のとおりです。

0 1 2 3 4 5 6 7 8 9 10 11
H e l l o , w o r l d

授業中、教師は生徒の学籍番号を呼ぶだけで、該当する生徒が自動的に起立します。 Pythonで特定の数字に対応する文字を取得するにはどうすればよいですか?コードを見てください:

>>> a = "Hello,wor ld"
>>> len(a)   #字符串的长度是12,说明公有12个字符,最后一个字符编号是11
12
>>> a[0]
'H'
>>> a[3]
'l'
>>> a[9]
' '
>>> a[11]
'd'
>>> a[5]
','

特記事項: 番号は左から始まり、最初の番号は 0 です。

右から番号を付けてもいいですか?できる。みんなに愛されているPythonは、こんな小さな要求を満たしていないのではないでしょうか?

>>> a[-1]
'd'
>>> a[11]
'd'
>>> a[-12]
'H'
>>> a[-3]
' '

見ましたか?右から開始する場合、最初の数値は -1 となり、左と区別されます。つまり、a[-1] と a[11] は同じ文字を指します。

左から始めても右から始めても正確に文字を見つけることができます。お好みの面から開始するか、実際の使用状況に応じてどちらの面から開始するかを選択してください。

文字列インターセプト

ナンバリングを使用すると、特定の文字を見つけるだけでなく、文字列の一部を取り出すこともできます。たとえば、「hello, world」から「llo」を取り出します。こんな感じでできます

>>> a[2:5]
'llo'

これはインターセプトされた文字列の一部です。 注: インターセプトされた部分の最初の文字 (l) に対応する番号は (2) で、ここから始まり、最後の文字は (o) です。 4) ですが、最後の数字は 4 ではなく 5 に 1 増やす必要があります。この方法でインターセプトされるのは、上で必要なものです。

「,wor」をインターセプトする方法を試してください

言い換えると、a[n,m] (n

特別なものがいくつかあります

>>> a[:]  #表示截取全部
'Hello,wor ld'
>>> a[3:]  #表示从a[3]开始,一直到字符串的最后
'lo,wor ld'
>>> a[:4]  #表示从字符串开头一直到a[4]前结束
'Hell'

文字列の両端のスペースを削除します

この機能は、ユーザーに何らかの情報を入力させる場合に非常に便利です。友人の中には、名前を入力するように求めるなど、入力を終えるときにスペースを押すことを好む人もいます。最初にスペースを追加することを好み、最初に入力する単語の前に必ずスペースを 2 つ入れる人もいます。

わかりました、それらのスペースは役に立ちません。 Python は、多くの人がこのような習慣を持っている可能性があることを考慮しているため、プログラマがこれらのスペースを削除できるようにします。

方法は次のとおりです:

S.strip() は文字列から左右のスペースを削除します
S.lstrip() は文字列
から左側のスペースを削除します。 S.rstrip() は文字列
の右側のスペースを削除します。 以下の例を見る前に、上記の組み込み関数を自分で使ってみてください。

>>> b=" hello "
>>> b
' hello '
>>> b.strip()
'hello'
>>> b
' hello '
>>> b.lstrip()
'hello '
>>> b.rstrip()
' hello'

練習

プログラミングを学ぶには、演習を行い、さまざまな状況での使い方に慣れる必要があります。

一緒に演習を行いましょう。ユーザー名を入力すると、コンピューターが自動的にユーザーに挨拶します。コードは次のとおりです:

#coding:utf-8

print "please write your name:"
name=raw_input()
print "Hello,%s"%name

このコードの raw_input() の意味は、ユーザーに内容の入力を求めることであり、入力内容は文字列です。

実際、上記のコードには改善点があります。たとえば、ユーザーが小文字を入力した場合、名前の最初の文字を大文字に変更する必要があります。スペースがある場合は削除する必要がありますか?等他にもあるかもしれません。この演習で以前に学んだことを包括的に適用できるかどうかを確認してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。