回答編集履歴

2

テキスト修正

2022/09/30 12:21

投稿

退会済みユーザー
test CHANGED
@@ -19,7 +19,7 @@
19
19
  re.sub(r'([0-9])?\'', lambda m: f'{m[1]}]' if m[1] else '[' , str(l))
20
20
  )
21
21
 
22
- print(l) # => [[686, 450, 692], [687, 450, 693]]
22
+ print(l) # [[686, 450, 692], [687, 450, 693]]
23
23
 
24
24
  ```
25
25
 

1

テキスト追加

2022/09/30 12:20

投稿

退会済みユーザー
test CHANGED
@@ -6,3 +6,21 @@
6
6
 
7
7
  print(l) # [[686, 450, 692], [687, 450, 693]]
8
8
  ```
9
+
10
+ 別案です。
11
+ 与えられたリスト全体を文字列にしてシングルコーテーションを `[` あるいは `]` に変換すると結果として欲しいリストのリテラルになるので、これを `ast.literal_eval` に与えればリストが得られます。
12
+ ```python
13
+ from ast import literal_eval
14
+ import re
15
+
16
+ l = ['686,450,692', '687,450,693',]
17
+
18
+ l = literal_eval(
19
+ re.sub(r'([0-9])?\'', lambda m: f'{m[1]}]' if m[1] else '[' , str(l))
20
+ )
21
+
22
+ print(l) # => [[686, 450, 692], [687, 450, 693]]
23
+
24
+ ```
25
+
26
+