2012-04-19 21 views
3

私はいくつかのPythonコードを移植しようとしていますが、私はいくつかのアドバイスをいただければ幸いです。Pythonコロン演算子

私はinオペレータを理解していますが、この例では:オペレータが何をしているのかは少し不明です。 http://docs.python.org/tutorial/introduction.html#strings

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

これは文字列である場合にのみ:オペレータは最初の2つの文字になると述べています。しかし、このようなリストで使用すると、何が起こるのでしょうか?これは単に文字列の最初の2文字を意味します

+0

はスライスが省略記号を含め、__getitem__を経由して使用することができる方法のより深い理解のために、http://stackoverflow.com/を参照してください質問/ 509211/pythons-slice-notation – nealmcb

答えて

7

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

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

+0

ありがとうございました – baynezy

1

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