# エージェント集合操作(基本操作)
## add
エージェント集合型変数にエージェントを追加する。
**add**(agt)
- **agt** - 追加するエージェント。
※「[集合型変数].[関数名]」の形で用いる
※Python標準の関数です。詳しくはPython公式ドキュメントを参照してください。
```
# エージェント集合peopleにエージェントtaroを追加する
people.add(taro)
```
## clear
エージェント集合型変数の中身をクリアする。
**clear**()
※「[集合型変数].[関数名]」の形で用いる
※Python標準の関数です。詳しくはPython公式ドキュメントを参照してください。
```
# エージェント集合peopleの中身をクリアする
people.clear()
```
## copy
エージェント集合型変数をコピーする。
**copy**()
※「[集合型変数].[関数名]」の形で用いる
※Python標準の関数です。詳しくはPython公式ドキュメントを参照してください。
```
# エージェント集合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公式ドキュメントを参照してください。
```
# エージェント集合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)
```