零学Pythonの入門(三)シーケンスから

2103 ワード

シーケンス
sequence(シーケンス)は、順序付き要素のセットです.
(厳密には、オブジェクトの集合ですが、「オブジェクト」の概念を導入していないため、要素を一時的に言います)
シーケンスには、1つ以上の要素が含まれていてもよいし、要素がなくてもよい.
前に述べた基本データ型は、シーケンスの要素として使用できます.要素は、別のシーケンスであってもよく、後で説明する他のオブジェクトであってもよい.
シーケンスにはtuple(定値テーブル;メタグループに翻訳)とlist(テーブル)の2種類があります.
 
  
>>>s1 = (2, 1.3, 'love', 5.6, 9, 12, False)         # s1 tuple
>>>s2 = [True, 5, 'smile']                          # s2 list
>>>print s1,type(s1)
>>>print s2,type(s2)

tupleとlistの主な違いは、いったん確立されると、tupleの各要素は変更できず、listの各要素は再変更できることである.
1つのシーケンスを別のシーケンスの要素として使用
 
  
>>>s3 = [1,[3,4,5]]

空のシーケンス
 
  
>>>s4 = []

要素の参照
シーケンス要素の下付き文字は0から始まります.
 
  
>>>print s1[0]
>>>print s2[2]
>>>print s3[1][2]

リストの要素は変更可能であるため、リストの要素に値を割り当てることができます.
 
  
>>>s2[1] = 3.0
>>>print s2

tupleに対してこのような操作をすると、エラーメッセージが表示されます.
したがって,シーケンスの参照はs[]によって実現され,intは下付きであることがわかる.
その他の参照方法
範囲参照はんいさんしょう:基本スタイルきじゅんすたいる[下限:上限:ステップサイズ]
 
  
>>>print s1[:5]             # 4 ( 5 )
>>>print s1[2:]             # 2
>>>print s1[0:5:2]          # 0 4 ( 5 ), 2 ( 0,2,4 )
>>>print s1[2:0:-1]         # 2 1

上から分かるように、範囲で引用する場合、上限を明記すれば、この上限自体は含まれません.
末尾要素参照
 
  
>>>print s1[-1]             #
>>>print s1[-3]             #

同様に、s 1[0:-1]の場合、最後の要素は参照されません(もう一度、上限要素自体は含まれません).
文字列はタプル
文字列は特殊な要素であるため、メタグループに関する操作を実行できます.
 
  
>>>str = 'abcdef'
>>>print str[2:4]

まとめ
tuple要素可変、list要素可変
シーケンスの参照s[2],s[1:8:2]
文字列はtupleです