前提・実現したいこと
python listの内容を数字だけfloat型に変更し、要素ごとに区切りたい。
該当のソースコード
python
1Products_Data = [['手巻おにぎり追い鰹仕立て北海道産昆布', '110', '173', '3.3', '0.8', '39.1', '37', '2.1', '1.1'], 2 ['手巻おにぎり鳥めし', '125', '200', '6.1', '1.5', '41.3', '39.5', '1.8', '2.4'], 3 ['手巻おにぎり鰹の香り引き立つおかか', '105', '166', '4.5', '0.9', '35.7', '34', '1.7', '1.3']] 4 5New_Products_Data = [] 6 7for Product_Data in Products_Data: 8 for i in range(len(Product_Data)): 9 r = Product_Data[i] 10 try: 11 New_Products_Data.append(float(r)) 12 except: 13 New_Products_Data.append(r) 14 15New_Products_Data 16
出力結果
python
1 2['手巻おにぎり追い鰹仕立て北海道産昆布', 3 110.0, 4 173.0, 5 3.3, 6 0.8, 7 39.1, 8 37.0, 9 2.1, 10 1.1, 11 '手巻おにぎり鳥めし', 12 125.0, 13 200.0, 14 6.1, 15 1.5, 16 41.3, 17 39.5, 18 1.8, 19 2.4, 20 '手巻おにぎり鰹の香り引き立つおかか', 21 105.0, 22 166.0, 23 4.5, 24 0.9, 25 35.7, 26 34.0, 27 1.7, 28 1.3] 29
望んでいる出力結果
python
1 2[['手巻おにぎり追い鰹仕立て北海道産昆布', 3 110.0, 4 173.0, 5 3.3, 6 0.8, 7 39.1, 8 37.0, 9 2.1, 10 1.1], 11 ['手巻おにぎり鳥めし', 12 125.0, 13 200.0, 14 6.1, 15 1.5, 16 41.3, 17 39.5, 18 1.8, 19 2.4], 20 ['手巻おにぎり鰹の香り引き立つおかか', 21 105.0, 22 166.0, 23 4.5, 24 0.9, 25 35.7, 26 34.0, 27 1.7, 28 1.3]] 29
手巻おにぎり追い鰹仕立て北海道産昆布
のような文字列はそのままstr型
に
その他の'110', '173', '3.3', '0.8', '39.1', '37', '2.1', '1.1'
のような値はfloat型
に変更したい
また出力結果をProducts_Data
のような要素ごとのリスト形式に格納したいです
よろしくお願いいたします
試したこと
map関数を用いた。
過去の自分の投稿を元にコードを書いてみたが、うまく実装できなかった。
補足情報(FW/ツールのバージョンなど)
python 3.x
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/12/09 03:50