エージェント集合操作(基本操作)

add

エージェント集合型変数にエージェントを追加する。

add(agt)

  • agt - 追加するエージェント。

※「[集合型変数].[関数名]」の形で用いる
※Python標準の関数です。詳しくはPython公式ドキュメントを参照してください。
https://docs.python.org/ja/3/library/stdtypes.html#set

# エージェント集合peopleにエージェントtaroを追加する
people.add(taro)

clear

エージェント集合型変数の中身をクリアする。

clear()

※「[集合型変数].[関数名]」の形で用いる
※Python標準の関数です。詳しくはPython公式ドキュメントを参照してください。
https://docs.python.org/ja/3/library/stdtypes.html#set

# エージェント集合peopleの中身をクリアする
people.clear()

copy

エージェント集合型変数をコピーする。

copy()

※「[集合型変数].[関数名]」の形で用いる
※Python標準の関数です。詳しくはPython公式ドキュメントを参照してください。
https://docs.python.org/ja/3/library/stdtypes.html#set

# エージェント集合peopleをコピーしてpeople2を作成する
people2 = people.copy()

count_agt

引数の指定に当てはまるエージェントの数を取得する。

count_agt(agttype=None, space=None, layer=None, only_alive=False)

  • agttype - 指定するエージェント種別。指定しない場合は全てのエージェント種別。

  • space - 指定する空間。指定しない場合は全ての空間。

  • layer - 指定するレイヤ。指定しない場合は全てのレイヤ。

  • only_alive - killフラグが立っていないエージェントのみを指定するかどうか。初期値はFalse。 ※killフラグはkill_agt関数によって立てられる

# エージェント種別personのエージェント数を取得する
n = count_agt(agttype=Universe.city.person)
n = count_agt(agttype=Universe.city.person, only_alive=True)  # killフラグが立っていないエージェント数を取得する

count_agtset

エージェント集合型変数が保持しているエージェント数を取得する。

count_agtset(agtset)

# エージェント集合peopleのエージェント数を取得する
n = count_agtset(people)

discard

エージェント集合型変数から、指定したエージェントを削除する。

discard(agt)

※「[集合型変数].[関数名]」の形で用いる
※Python標準の関数です。詳しくはPython公式ドキュメントを参照してください。
https://docs.python.org/ja/3/library/stdtypes.html#set

# エージェント集合peopleからエージェントtaroを削除する
people.discard(taro)

randchoice

エージェント集合からランダムに1つのエージェントを取り出す。

randchoice(agtset)

# エージェント集合peopleからランダムに1つのエージェントを取り出し変数oneに格納する
one = randchoice(people)

randsample

エージェント集合からランダムに重複なく複数のエージェントを取り出す

randsample(agtset, num)

  • agtset - 対象とするエージェント集合

  • num - 取り出すエージェントの個数

# エージェント集合peopleからランダムに2つのエージェントを取り出し変数pairに格納する
pair = randsample(people)