タプル。配列の一種。
ここらでPython配列まとめ。
Python配列には2種類ある
- A 可変長
- B 固定長
- 可変長
- 一般的な配列、他のスクリプトと同じ。
- Array List 配列
- Dictionary 連想配列
- 一般的な配列、他のスクリプトと同じ。
- 固定長な配列
- C言語っぽい配列
- 文字列(string)
- tuple
- Set
と分類されてる。
何が違うか?変数の作り方を見れば一目瞭然だろう。
#List list = ["abc", "def", "ghi"] #Tuple tuple = ( "abc", "def", "ghi") #Dictionary dic = {"abc": "123", "def": "456", "ghi" : "789"} #Set sets = set(["sony", "apple", "sharp", "apple", "sharp", "sony"]) #sets=['sony','apple','sharp']
で、タプルは、オブジェクトというより言語構造に近い。
#タプルを使った例 a = 1,2,3 x,y,z = a #こんなモノもタプルです #引数がタプルで、戻り値もタプルな例 def f(x,y,z): return x,y,z print f(*a) #(1,2,3) a,b,c = f(1,2,3) #a =1, b=2, c=3
関数に使うと便利だと思うよ。rubyも、この形式取り入れてますよね。
関数の定義に使うので、配列形式というより、言語構造だと思う。
Set ユニーク値
配列の値に重複を許さない。配列のキーとして使うのかな。
#set()の例 print set([1,2,3,4,4,3,2,1])#1,2,3,4 a = set("google") #o,l,e,g b = set("yahoo") #y,a,o,h print a - b #e,l,g print b - a #y,a,h
Dictionary 辞書式配列
一般的に連想配列と呼ばれるモノ。JSON形式。あえて説明の必要はないと思うが。JavaでもDictionaryクラス(Hashtable, Properties)になる。
#Dictionary dic = {} # {} dic["a"] = "apple" # {'a':'apple'} dic["c"] = "cupple" # {'a':'apple', 'c':'cupple'} del dic["a"] # {'a':'apple'} dic["p"] = "people" # {'a':'apple', 'p':'people'} dic["s"] = "sample" # {'a':'apple', 'p':'people', 's':'sample'} dic.keys() # ['a', 'p', 's'] "a" in dic # True dic.has_key("s") # True
Dictionary配列は関数を使って増やすことも出来る
#関数を用いた例 dict(j="jingle", "t"="tinkle") dict([("s", "simple"), ("a", "ample")])