回答編集履歴

3

さらに追記

2017/07/17 15:46

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -1,4 +1,6 @@
1
1
  quiquiさんの指摘でバグに気付きました。大変失礼いたしました。
2
+
3
+ さらに、そもそもsplitがいらないことにも気付いてしまいました...
2
4
 
3
5
  コードを、それぞれ下記のように読み替えてください。
4
6
 
@@ -8,15 +10,37 @@
8
10
 
9
11
  sdata = ["[0.2]","[0.3]"]
10
12
 
11
- cov = np.array([float(sdata[i].replace("[","").replace("]","").split()[0]) for i in range(2)])
13
+ cov = np.array([float(sdata[i].replace("[","").replace("]","")) for i in range(2)])
12
14
 
13
15
  ```
14
16
 
15
17
  ```Python
16
18
 
17
- cov = np.array([float(s.replace("[","").replace("]","").split()[0]) for s in sdata])
19
+ cov = np.array([float(s.replace("[","").replace("]","")) for s in sdata])
18
20
 
19
21
  ```
22
+
23
+
24
+
25
+
26
+
27
+ ついでに、mapを用いる場合
28
+
29
+ ```Python
30
+
31
+ def func(str):
32
+
33
+ return float(str.replace("[","").replace("]",""))
34
+
35
+
36
+
37
+ cov = np.array(list(map(func, sdata)))
38
+
39
+ ```
40
+
41
+
42
+
43
+ ラムダ式を使うとワンラインで書けますが、ちょっと気持ち悪い感じになります。
20
44
 
21
45
 
22
46
 

2

修正

2017/07/17 15:46

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -1,3 +1,29 @@
1
+ quiquiさんの指摘でバグに気付きました。大変失礼いたしました。
2
+
3
+ コードを、それぞれ下記のように読み替えてください。
4
+
5
+ ```Python
6
+
7
+ import numpy as np
8
+
9
+ sdata = ["[0.2]","[0.3]"]
10
+
11
+ cov = np.array([float(sdata[i].replace("[","").replace("]","").split()[0]) for i in range(2)])
12
+
13
+ ```
14
+
15
+ ```Python
16
+
17
+ cov = np.array([float(s.replace("[","").replace("]","").split()[0]) for s in sdata])
18
+
19
+ ```
20
+
21
+
22
+
23
+ 以下、元の回答
24
+
25
+ ---
26
+
1
27
  これなら通ります。
2
28
 
3
29
  ```Python
@@ -31,3 +57,5 @@
31
57
 
32
58
 
33
59
  内包表記は偉大です。
60
+
61
+

1

さらなる質問に対して

2017/07/17 15:28

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -13,3 +13,21 @@
13
13
 
14
14
 
15
15
  splitの返り値がリストだからでしょう。
16
+
17
+
18
+
19
+ ---
20
+
21
+ > もし、sdataが6個の要素を持つとしたら...
22
+
23
+
24
+
25
+ ```
26
+
27
+ cov = np.array([map(float, s.replace("[","").replace("]","").split()[0]) for s in sdata])
28
+
29
+ ```
30
+
31
+
32
+
33
+ 内包表記は偉大です。