質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.31%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

1回答

359閲覧

pythonで、集合と集合を in で比較した場合、Trueの意味とFalseの意味が何かが知りたいです。

kakunn2000

総合スコア3

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2023/05/13 23:08

実現したいこと

pythonで、集合と集合を in で比較した場合、Trueの意味とFalseの意味が何かが知りたいです。

前提

部分集合か否かは、演算子(< や <= )を用いて、比較したい集合を並べると思います。
あるものが、ある集合の要素か否かは、演算子(in)を用いて、表現すると思います。

発生している問題・エラーメッセージ

該当のソースコードでは、
集合と集合を<=で比較した場合は、部分集合か否かを判定し、Trueが返ってきたと理解しています。
集合と集合を in で比較した場合、エラーにはならず、Falseが返ってきます。
このFalseは何を判定しているのかがわからないです。

該当のソースコード

Python 3.11.2 (v3.11.2:878ead1ac1, Feb 7 2023, 10:02:41) [Clang 13.0.0 (clang-1300.0.29.30)] on darwin
Type "help", "copyright", "credits" or "license" for more information.

a = {1, 2, 3, 4, 5}
b = {1, 2, 3}
a

{1, 2, 3, 4, 5}

b

{1, 2, 3}

b <= a

True

b in a

False

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hoshi-takanori

2023/05/14 00:31

こうかな。 >>> a = [{1,2,3},{4,5,6}] >>> {1,2} in a False >>> {1,2,3} in a True
退会済みユーザー

退会済みユーザー

2023/05/14 03:22 編集

print({1,2} <= {1,2,3}) # True print({1,2,4} <= {1,2,3}) # False print({1,2}.issubset({1,2,3})) # True print({1,2,4}.issubset({1,2,3})) # False inはcontainsで意味合い的には要素が集合に含まれているかどうかの意味
kakunn2000

2023/05/14 10:21

ありがとうございます。集合が集合の要素になるか試したのですがエラーになり、困っていました。frozensetというのがあること教えていただき、これを使うと、frozensetが、集合の要素かどうかを、containsという意味合いで、inで判定できること理解しました。今後ともよろしくお願いします。
guest

回答1

0

ベストアンサー

inは、単に「要素かどうか」だけでそれ以外の意味は無いです。
baの要素の1つであれば真で、そうでなければ偽。

set型はset型の要素になれませんが、frozenset型であればset型やfrozenset型の要素になれます。

Python

1a = {1,2,3} 2b = {10,20,30,frozenset([1,2,3])} 3a in b 4# ⇒ true

投稿2023/05/14 00:44

otn

総合スコア86295

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kakunn2000

2023/05/14 10:20

ありがとうございました。frozensetを身につけることができました。今後ともよろしくお願いします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.31%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問