回答編集履歴
6
テキスト追加
test
CHANGED
@@ -78,7 +78,7 @@
|
|
78
78
|
|
79
79
|
`'a=1&b=2&c=3'`
|
80
80
|
|
81
|
-
が得られますが、これはURLの一部を構成するクエリ文字列の形式なので、これをパースするモジュールの力を借りることができます。以下は、この考え方によ
|
81
|
+
が得られますが、これはURLの一部を構成するクエリ文字列の形式なので、これをパースするモジュールの力を借りることができます。以下は、この考え方によって、関数`get_dict` を修正したコードです。
|
82
82
|
|
83
83
|
|
84
84
|
|
5
テキスト追加
test
CHANGED
@@ -94,7 +94,9 @@
|
|
94
94
|
|
95
95
|
def get_dict(params_str):
|
96
96
|
|
97
|
-
|
97
|
+
qs = params_str.replace(' ', '&')
|
98
|
+
|
99
|
+
return parse_qs(qs)
|
98
100
|
|
99
101
|
|
100
102
|
|
4
テキスト追加
test
CHANGED
@@ -110,6 +110,8 @@
|
|
110
110
|
|
111
111
|
|
112
112
|
|
113
|
+
|
114
|
+
|
113
115
|
```
|
114
116
|
|
115
117
|
- **動作確認用 Repl.it:** [https://repl.it/@jun68ykt/Q2501132](https://repl.it/@jun68ykt/Q2501132)
|
3
テキスト追加
test
CHANGED
@@ -86,7 +86,7 @@
|
|
86
86
|
|
87
87
|
```python3
|
88
88
|
|
89
|
-
|
89
|
+
from urllib.parse import parse_qs
|
90
90
|
|
91
91
|
|
92
92
|
|
@@ -94,7 +94,7 @@
|
|
94
94
|
|
95
95
|
def get_dict(params_str):
|
96
96
|
|
97
|
-
return
|
97
|
+
return parse_qs(params_str.replace(' ', '&'))
|
98
98
|
|
99
99
|
|
100
100
|
|
2
テキスト追加
test
CHANGED
@@ -78,7 +78,7 @@
|
|
78
78
|
|
79
79
|
`'a=1&b=2&c=3'`
|
80
80
|
|
81
|
-
が得られますが、これはURLの一部を構成するクエリ
|
81
|
+
が得られますが、これはURLの一部を構成するクエリ文字列の形式なので、これをパースするモジュールの力を借りることができます。以下は、この考え方によるコードです。
|
82
82
|
|
83
83
|
|
84
84
|
|
1
テキスト追加
test
CHANGED
@@ -65,3 +65,57 @@
|
|
65
65
|
|
66
66
|
|
67
67
|
以上参考になれば幸いです。
|
68
|
+
|
69
|
+
|
70
|
+
|
71
|
+
|
72
|
+
|
73
|
+
### 追記
|
74
|
+
|
75
|
+
|
76
|
+
|
77
|
+
別の方法を挙げておきます。`'a=1 b=2 c=3'` という文字列に含まれるスペースを `&`で置き換えると、
|
78
|
+
|
79
|
+
`'a=1&b=2&c=3'`
|
80
|
+
|
81
|
+
が得られますが、これはURLの一部を構成するクエリパラ文字列の形式なので、これをパースするモジュールの力を借りることができます。以下は、この考え方によるコードです。
|
82
|
+
|
83
|
+
|
84
|
+
|
85
|
+
|
86
|
+
|
87
|
+
```python3
|
88
|
+
|
89
|
+
import urllib.parse
|
90
|
+
|
91
|
+
|
92
|
+
|
93
|
+
|
94
|
+
|
95
|
+
def get_dict(params_str):
|
96
|
+
|
97
|
+
return urllib.parse.parse_qs(params_str.replace(' ', '&'))
|
98
|
+
|
99
|
+
|
100
|
+
|
101
|
+
if __name__=='__main__':
|
102
|
+
|
103
|
+
text = ['a=1 b=2 c=3', 'a=2 b=3 c=4']
|
104
|
+
|
105
|
+
dicts = [get_dict(params_str) for params_str in text]
|
106
|
+
|
107
|
+
a_list = [int(d['a'][0]) for d in dicts]
|
108
|
+
|
109
|
+
print(a_list)
|
110
|
+
|
111
|
+
|
112
|
+
|
113
|
+
```
|
114
|
+
|
115
|
+
- **動作確認用 Repl.it:** [https://repl.it/@jun68ykt/Q2501132](https://repl.it/@jun68ykt/Q2501132)
|
116
|
+
|
117
|
+
|
118
|
+
|
119
|
+
|
120
|
+
|
121
|
+
- **参考:** [urllib.parse.parse_qs](https://docs.python.org/ja/3/library/urllib.parse.html#urllib.parse.parse_qs)
|