3

私はいくつかのPythonコードを移植しようとしていますが、小さな問題で少し迷っています。アドバイスをいただければ幸いです。

私はオペレーターを理解していますが、この例でオペレーターがin何をするのか少しわかりません。:

if foo in bar[i][:2]:
    # do something

http://docs.python.org/tutorial/introduction.html#stringsには、これが文字列である場合にのみ、オペレーター:が最初の2文字を作成すると記載されています。しかし、このようなリストで使用すると、何が起こるのでしょうか?つまり、これは、thの文字列の最初の2文字を意味するだけですか?

4

2 に答える 2

7

これはリストスライシングと呼ばれ、質問のドキュメントの適切な部分にすでにリンクしています。ドキュメントがわかりにくい場合は、そのためのビデオチュートリアルがあります。

http://www.youtube.com/watch?v=iD6a0G8MnjA

于 2012-04-19T07:55:43.487 に答える
1

演算子の動作は、オペランドがどこから来ているかには依存しません。リテラル、変数、または複雑な式のいずれであるかは関係ありません。演算子は、特定の方法で計算されたためではなく、オペランドが文字列であるために処理を実行します。

于 2012-04-19T07:10:49.813 に答える