Hatena::Grouppython

nelnal@python

2008-01-22

map関数 00:09  map関数 - nelnal@python を含むブックマーク はてなブックマーク -  map関数 - nelnal@python

map関数はリストのすべて要素に同様の処理を行う時に使います。


使い方

list = map ( function, list, ... )

function
引数をもつ関数引数の数はリストの数と合わせること。また、戻り値を持つこと。
list
1つ以上の要素をもったリスト。リストの数はfunction引数に合わせること。

戻り値
functionの実行結果をまとめてリストにして返します。

サンプルコード

def func( item ):
    print "This is a " + item + "."

map( func, [ "pen", "banana", "car" ] )


def func2( a, b, c ):
    return a ** 2 + b * c

map( func2, [1, 3, 5], [ 8, 12, 2 ], [ 5, 2, -3 ] )

ただし、上記の程度の簡単な処理なら、

for 文と zip() を使った組み合わせのほうが簡単だと思われる。


[] 等価と同一 23:54  等価と同一 - nelnal@python を含むブックマーク はてなブックマーク -  等価と同一 - nelnal@python

Pythonでは「等価」と「同一」は異なる意味となる。

等価
2つのオブジェクトを構成する要素*1が各々同じである。
同一
2つのオブジェクトはメモリ上の同じアドレスに存在するデータを参照している。

「等価」は「==」演算子を、「同一」は「is」演算子を使います。

>>>s1 = "spam"
>>> s2 = s1
>>> s1 == s2, s1 is s2
(True, True)

>>> s1 = "This is a pen."
>>> s2 = "This is a pen."
>>> s1 == s2, s1 is s2
(True, False)

ただし、文字列ではデータ長が短い場合に限り、

同一メモリアドレスのデータを参照する場合がある。

*1:ネストされているものも含む

トラックバック - http://python.g.hatena.ne.jp/nelnal_programing/20080122