AI資格ドリル
資格を選ぶ

用語比較

集合の | & - ^ の違い|和・積・差・対称差をPython3エンジニア認定基礎試験で判断する

集合(set)の演算子は、| が和、& が積、- が差、^ が対称差を求めます。

a = set('abracadabra')、b = set('alacazam') なら、a - b はaにあってbにない文字、a | b はaまたはbまたは両方にある文字、a & b は両方にある文字、a ^ b はaまたはbにあるが両方にはない文字です。

この記事の根拠と出典

各セクションの見出しの下に、公式資料で確認した内容か編集部の整理かをラベルで示しています。 試験日・料金・申込条件・試験方式は変わることがあるため、申込前に公式サイトで確認してください。

| と &と- と ^の要点

| と &

| は少なくとも一方にある要素を全て集める和、& は両方にある要素だけを残す積。

- と ^

- は左の集合にあって右にない要素を残す差、^ はどちらか一方だけにある要素を残す対称差。

違いを表で確認

比較軸| と &- と ^
名称| は和 (union)、& は積 (intersection)- は差 (difference)、^ は対称差 (symmetric difference)
公式チュートリアルの説明| は「aまたはbまたは両方に存在する文字」、& は「aとbの両方に存在する文字」- は「aにあってbにない文字」、^ は「aまたはbにあるが、両方にはない文字」
aだけにある要素(r, d, b)| の結果に入る、& の結果に入らない- の結果に入る、^ の結果に入る
bだけにある要素(m, z, l)| の結果に入る、& の結果に入らない- の結果に入らない、^ の結果に入る
両方にある要素(a, c)| の結果に入る、& の結果に入る- の結果に入らない、^ の結果に入らない

Python3エンジニア認定基礎試験の学習に使う書籍(Amazon)

PR

ほかの資格を含む参考書・問題集の一覧を見る

どこで迷っているかを切り分ける

01

^ を累乗の記号と混同している初学者

集合どうしの a ^ b は、公式チュートリアルが「aまたはbにあるが、両方にはない文字」と説明する対称差です。aだけにある要素とbだけにある要素を合わせたものになります。

02

a - b と b - a の結果が同じだと考える人

差は左の集合を基準にします。チュートリアルの例では a - b は {'r', 'd', 'b'} で、aにあってbにない文字です。左右を入れ替えると、bにあってaにない文字になります。

03

| と ^ の違いを両方の要素の扱いで整理できない再受験者

どちらもaだけの要素とbだけの要素を結果に含めます。違いは両方にある要素で、| は結果に含め、^ は含めません。

問題文から答えを選ぶ手順

  1. 1

    要素を3グループに分ける

    aだけにある要素、bだけにある要素、両方にある要素に分けます。

  2. 2

    演算子ごとに残るグループを選ぶ

    | は3グループ全て、& は両方にある要素だけ、- は左だけにある要素、^ は左だけと右だけの要素を残します。

  3. 3

    左右の順序を確認する

    - は左右を入れ替えると結果が変わります。他の3つは入れ替えても同じ集合になります。

  4. 4

    重複と順序を気にしない

    集合は重複する要素をもたず、順序づけられていません。表示される順序は予想と異なることがあります。

試験での見分け方

  • 1| は、aまたはbまたは両方に存在する要素を集める和。
  • 2& は、aとbの両方に存在する要素だけを残す積。
  • 3- は、左の集合にあって右の集合にない要素を残す差。
  • 4^ は、aまたはbにあるが両方にはない要素を残す対称差。

誤答しやすい選択肢

対称差と和を同じ結果だと考える

修正: 和は両方にある要素も含み、対称差は両方にある要素を含みません。チュートリアルの例では a | b に a と c が入り、a ^ b には入りません。

差の左右を入れ替えても結果が変わらないと考える

修正: 差は左の集合を基準にするため、a - b と b - a は別の結果になります。

集合の表示順を要素の追加順だと考える

修正: 集合は順序づけられていないため、表示される要素の順序は予想と異なることがあります。

確認問題

Q1a = set('abracadabra')、b = set('alacazam') のとき、a & b の結果はどれ?

答え: {'a', 'c'}

& は両方に存在する文字だけを残します。a にも b にもあるのは a と c です。

Q2同じ a と b で、a - b の結果に入る文字はどれ?

答え: r, d, b

- は a にあって b にない文字を残します。a のユニークな文字 a, r, b, c, d のうち、b にもある a と c を除いた r, d, b です。

Q3同じ a と b で、a ^ b の結果に入らない文字はどれ?

答え: a, c

^ は a または b にあるが両方にはない文字を残すため、両方にある a と c は結果に入りません。

到達チェック

  • 4つの演算子と名称(和・積・差・対称差)を対応づけられる
  • 要素を3グループに分けて、各演算子の結果を求められる
  • 差だけは左右を入れ替えると結果が変わると言える
  • 集合は重複せず、順序づけられていないと説明できる

同じ資格で次に知りたいこと

よくある質問

Q集合の和・積・差・対称差はどの演算子で書きますか?

A

和が |、積が &、差が -、対称差が ^ です。公式チュートリアルの例で各演算子の結果が示されています。

Qa ^ b は何を求めますか?

A

公式チュートリアルは「aまたはbにあるが、両方にはない文字」と説明しています。対称差です。

Qa - b と b - a は同じ結果になりますか?

A

いいえ。差は左の集合を基準にするため、左右を入れ替えると別の結果になります。

Q集合の要素は追加した順に並びますか?

A

いいえ。集合は順序づけられていないため、表示すると要素が予想とは異なる順序で現れることがあります。

次に見る比較

執筆: AI資格ドリル編集部(運営者情報を見る)