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

回答編集履歴

4

テキスト追加

2021/12/09 04:00

投稿

退会済みユーザー
answer CHANGED
@@ -58,7 +58,7 @@
58
58
 
59
59
  - 先頭だけがfloat変換の対象外の文字列。2番目以降はfloatに変換できる数字の文字列である
60
60
 
61
- ことを前提にてよいのであれば以下でもよいかと思います。
61
+ ことを前提にてよいのであれば以下でもよいかと思います。
62
62
 
63
63
  ```python3
64
64
  New_Products_Data = [[product, *map(float, data)] for product, *data in Products_Data]

3

テキスト追加

2021/12/09 04:00

投稿

退会済みユーザー
answer CHANGED
@@ -56,7 +56,7 @@
56
56
 
57
57
  もうひとつ。与えられる`Products_Data`が含む各リストの要素は、
58
58
 
59
- - 先頭だけが文字列。2番目以降はfloatに変換できる数字の文字列である
59
+ - 先頭だけがfloat変換の対象外の文字列。2番目以降はfloatに変換できる数字の文字列である
60
60
 
61
61
  ことを前提にてよいのであれば以下でもよいかと思います。
62
62
 

2

テキスト追加

2021/12/09 03:53

投稿

退会済みユーザー
answer CHANGED
@@ -1,5 +1,6 @@
1
- これでどうでょう?
1
+ 3案、回答ます。
2
2
 
3
+ ### コード例1
3
4
  ```python3
4
5
  import re
5
6
 
@@ -20,6 +21,7 @@
20
21
 
21
22
  > [['手巻おにぎり追い鰹仕立て北海道産昆布', 110.0, 173.0, 3.3, 0.8, 39.1, 37.0, 2.1, 1.1], ['手巻おにぎり鳥めし', 125.0, 200.0, 6.1, 1.5, 41.3, 39.5, 1.8, 2.4], ['手巻おにぎり鰹の香り引き立つおかか', 105.0, 166.0, 4.5, 0.9, 35.7, 34.0, 1.7, 1.3]]
22
23
 
24
+ ### コード例2
23
25
 
24
26
  もしくは、map を使ってみるということでしたら、
25
27
 
@@ -48,4 +50,16 @@
48
50
  ```
49
51
  **出力結果:**
50
52
 
51
- > [['手巻おにぎり追い鰹仕立て北海道産昆布', 110.0, 173.0, 3.3, 0.8, 39.1, 37.0, 2.1, 1.1], ['手巻おにぎり鳥めし', 125.0, 200.0, 6.1, 1.5, 41.3, 39.5, 1.8, 2.4], ['手巻おにぎり鰹の香り引き立つおかか', 105.0, 166.0, 4.5, 0.9, 35.7, 34.0, 1.7, 1.3]]
53
+ > [['手巻おにぎり追い鰹仕立て北海道産昆布', 110.0, 173.0, 3.3, 0.8, 39.1, 37.0, 2.1, 1.1], ['手巻おにぎり鳥めし', 125.0, 200.0, 6.1, 1.5, 41.3, 39.5, 1.8, 2.4], ['手巻おにぎり鰹の香り引き立つおかか', 105.0, 166.0, 4.5, 0.9, 35.7, 34.0, 1.7, 1.3]]
54
+
55
+ ### コード例3
56
+
57
+ もうひとつ。与えられる`Products_Data`が含む各リストの要素は、
58
+
59
+ - 先頭だけが文字列。2番目以降はfloatに変換できる数字の文字列である
60
+
61
+ ことを前提にてよいのであれば以下でもよいかと思います。
62
+
63
+ ```python3
64
+ New_Products_Data = [[product, *map(float, data)] for product, *data in Products_Data]
65
+ ```

1

テキスト追加

2021/12/09 03:44

投稿

退会済みユーザー
answer CHANGED
@@ -18,4 +18,34 @@
18
18
  ```
19
19
  **出力結果:**
20
20
 
21
+ > [['手巻おにぎり追い鰹仕立て北海道産昆布', 110.0, 173.0, 3.3, 0.8, 39.1, 37.0, 2.1, 1.1], ['手巻おにぎり鳥めし', 125.0, 200.0, 6.1, 1.5, 41.3, 39.5, 1.8, 2.4], ['手巻おにぎり鰹の香り引き立つおかか', 105.0, 166.0, 4.5, 0.9, 35.7, 34.0, 1.7, 1.3]]
22
+
23
+
24
+ もしくは、map を使ってみるということでしたら、
25
+
26
+ ```pyhon3
27
+ Products_Data = [['手巻おにぎり追い鰹仕立て北海道産昆布', '110', '173', '3.3', '0.8', '39.1', '37', '2.1', '1.1'],
28
+ ['手巻おにぎり鳥めし', '125', '200', '6.1', '1.5', '41.3', '39.5', '1.8', '2.4'],
29
+ ['手巻おにぎり鰹の香り引き立つおかか', '105', '166', '4.5', '0.9', '35.7', '34', '1.7', '1.3']]
30
+
31
+
32
+ def to_float_if_possible(x):
33
+ try:
34
+ return float(x)
35
+ except ValueError:
36
+ return x
37
+
38
+
39
+ New_Products_Data = [
40
+ [*map(to_float_if_possible, Product_Data)]
41
+ for Product_Data
42
+ in Products_Data
43
+ ]
44
+
45
+ print(New_Products_Data)
46
+
47
+
48
+ ```
49
+ **出力結果:**
50
+
21
51
  > [['手巻おにぎり追い鰹仕立て北海道産昆布', 110.0, 173.0, 3.3, 0.8, 39.1, 37.0, 2.1, 1.1], ['手巻おにぎり鳥めし', 125.0, 200.0, 6.1, 1.5, 41.3, 39.5, 1.8, 2.4], ['手巻おにぎり鰹の香り引き立つおかか', 105.0, 166.0, 4.5, 0.9, 35.7, 34.0, 1.7, 1.3]]