タプル。配列の一種。
ここらで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") # TrueDictionary配列は関数を使って増やすことも出来る
#関数を用いた例
dict(j="jingle", "t"="tinkle")
dict([("s", "simple"), ("a", "ample")])