*配列 [#pf4a3ade] **Javascript [#wef12743] var beatles = Array( "John", "Paul", "George", "Ringo" ); var names = [ "Ringo", "John", "George", "Paul" ]; **Perl [#oef1fcdc] #!/usr/bin/perl # 初期化 @a = (1,2,3); print $a[0]."\n"; print "Length : " . ($#a + 1) . "\n"; $a[3] = 4; print "Length : " . ($#a+1) . "\n"; foreach $t (@a) { print $t; } print "\n"; **Python [#u3902efe] ***タプル [#ve2800e3] 変更不可な配列 ( と )でくくる。 >>> t=1,2 >>> t (1, 2) >>> x,y = t >>> x 1 >>> y 2 じつは()でくくらなくてもいい。 ***リスト [#bf0bc97e] 変更可能な配列 [ と ]でくくる。 [1,2,3] >>> a = ['spam', 'eggs', 100, 1234] >>> a ['spam', 'eggs', 100, 1234] >>> a[0] 'spam' >>> a[3] 1234 >>> a[-2] 100 >>> a[1:-1] ['eggs', 100] >>> a[:2] + ['bacon', 2*2] ['spam', 'eggs', 'bacon', 4] >>> 3*a[:3] + ['Boo!'] ['spam', 'eggs', 100, 'spam', 'eggs', 100, 'spam', 'eggs', 100, 'Boo!'] リストは変更できる。 >>> a ['spam', 'eggs', 100, 1234] >>> a[2] = a[2] + 23 >>> a ['spam', 'eggs', 123, 1234] スライスを利用して変更 >>> # いくつかの項目を置換する: ... a[0:2] = [1, 12] >>> a [1, 12, 123, 1234] >>> # いくつかの項目を除去する: ... a[0:2] = [] >>> a [123, 1234] >>> # いくつかの項目を挿入する: ... a[1:1] = ['bletch', 'xyzzy'] >>> a [123, 'bletch', 'xyzzy', 1234] >>> # それ自身 (のコピー) を先頭に挿入する >>> a[:0] = a >>> a [123, 'bletch', 'xyzzy', 1234, 123, 'bletch', 'xyzzy', 1234] >>> # リストをクリアする: 全てのアイテムを空のリストに置換する >>> a[:] = [] >>> a [] 長さはlen()で取得 >>> a = ['a', 'b', 'c', 'd'] >>> len(a) 4 ***リスト用のメソッド例 [#kbe1c7d5] >>> a = [66.25, 333, 333, 1, 1234.5] >>> print a.count(333), a.count(66.25), a.count('x') 2 1 0 >>> a.insert(2, -1) >>> a.append(333) >>> a [66.25, 333, -1, 333, 1, 1234.5, 333] >>> a.index(333) 1 >>> a.remove(333) >>> a [66.25, -1, 333, 1, 1234.5, 333] >>> a.reverse() >>> a [333, 1234.5, 1, 333, -1, 66.25] >>> a.sort() >>> a [-1, 1, 66.25, 333, 333, 1234.5] ***リストで使うと便利な組み込み関数 [#n8089cc3] ****filter [#v2373ec3] >>> def f(x): return x % 2 != 0 and x % 3 != 0 ... >>> filter(f, range(2, 25)) [5, 7, 11, 13, 17, 19, 23] range(2,25)の中からfが真になるリストを返す。 ****map [#ud3f6734] >>> def cube(x): return x*x*x ... >>> map(cube, range(1, 11)) [1, 8, 27, 64, 125, 216, 343, 512, 729, 1000] ***リストの内包表記 [#t86a2350] [式 for節 if節] >>> freshfruit = [' banana', ' loganberry ', 'passion fruit '] >>> [weapon.strip() for weapon in freshfruit] ['banana', 'loganberry', 'passion fruit'] >>> vec = [2, 4, 6] >>> [3*x for x in vec] [6, 12, 18] >>> [3*x for x in vec if x > 3] [12, 18] >>> [3*x for x in vec if x < 2] [] >>> [[x,x**2] for x in vec] [[2, 4], [4, 16], [6, 36]] **Ruby [#w8a59bd4] [と]でくくる。 a = [1, 2, 3] b = ["aaa", "bbb", "ccc"] a = [1,2,3,"aaa","bbb"] # 長さ取得 puts a.length #=> 5 # 要素にアクセス puts a[1] #=> 2 # マイナスで後ろから指定 puts a[-2] #=>"aaa" # ..で範囲を指定 puts a[2..4] #=> [3, "aaa", "bbb"] # ,で先頭と長さを指定 puts a[3,2] #=> ["aaa", "bbb"] # join(区切り文字)で文字列をして出力 puts a.join(" ") #=> "1 2 3 aaa bbb" # pushで最後に追加 a.push("ccc") # popで最後を削除 a.pop # unshiftで先頭に追加 a.unshift(123) # shiftで先頭を削除 a.shift # putsで出力すると1行づつ出力 puts a # pで出力するとそれなりに出力 p a