質問するログイン新規登録

回答編集履歴

3

修正

2019/10/31 05:08

投稿

kairi003
kairi003

スコア1332

answer CHANGED
@@ -10,7 +10,7 @@
10
10
  E = [(1,2),(1,3),...]
11
11
  e = {(1,2),(1,3),...}
12
12
  ```
13
- タプル(編集不可リスト)ならイケるので、リストをタプルにしましょう。内包表記を使うと楽です。
13
+ タプル(編集不可リスト)ならイケるので、リストの中身のリストをタプルにしましょう。内包表記を使うと楽です。
14
14
  ```python
15
15
  e = set(tuple(x) for x in E)
16
16
  ```

2

構成修正

2019/10/31 05:08

投稿

kairi003
kairi003

スコア1332

answer CHANGED
@@ -1,15 +1,16 @@
1
1
  リスト型はunhashable=ハッシュ化不能なので集合型に格納できません。
2
- リストを変換できないというわけではなくて、要は
2
+ リストを変換できないというわけではなくて、リストの中身もリストだとだめなんです。辞書型のキーにもできません。
3
3
  ```python
4
+ # 元の二次元リスト
5
+ E = [[1,2],[1,3],...]
6
+ # 集合型の中身をリストにはできない
4
- {[1,2],[3,4],...}
7
+ e = {[1,2],[1,3],...}
8
+
9
+ # タプルならできる
10
+ E = [(1,2),(1,3),...]
11
+ e = {(1,2),(1,3),...}
5
12
  ```
6
- みたいな状態がだめなんです。辞書型のキーにもできません。
7
- 元のリストが次のような二次元配列なのでこのようにになってしまいます。
8
- ```python
9
- [[1,2],[3,4],...]
10
- ```
11
13
  タプル(編集不可リスト)ならイケるので、リストをタプルにしましょう。内包表記を使うと楽です。
12
14
  ```python
13
15
  e = set(tuple(x) for x in E)
14
- # e = {(1,2),(3,4),...}
15
16
  ```

1

追記

2019/10/31 04:58

投稿

kairi003
kairi003

スコア1332

answer CHANGED
@@ -11,4 +11,5 @@
11
11
  タプル(編集不可リスト)ならイケるので、リストをタプルにしましょう。内包表記を使うと楽です。
12
12
  ```python
13
13
  e = set(tuple(x) for x in E)
14
+ # e = {(1,2),(3,4),...}
14
15
  ```