我把一個tuple
[('0', '0'), ('0.001', '0.108'), ('0.002', '0.105'), ('0.003', '0.109'), ('0.004', '0.105'), ('0.005', '0.103'), ('0.006', '0.107'), ('0.007', '0.111'), ('0.008', '0.110'), ('0.009', '0.108'), ('0.01', '0.109')]
我把它轉成下面這樣 float
[[0.0, 0.0], [0.001, 0.108], [0.002, 0.105], [0.003, 0.109], [0.004, 0.105], [0.005, 0.103], [0.006, 0.107], [0.007, 0.111], [0.008, 0.11], [0.009, 0.108], [0.01, 0.109]
我只要大於 >=0.108 的該怎麼做 結果會等於下面這樣
[[0.001, 0.108],[0.003, 0.109],[0.007, 0.111],[0.008, 0.11],[0.009, 0.108], [0.01, 0.109]]
data_gte = [tuple(float(x) for x in d ) for d in data if float(d[1]) >= 0.108]
但是如果要嵌套太多生成器的話,就不建議這樣寫了,程式會變的很難懂。
我的轉float 跟 判斷 是要分開執行的
data = [ [float(x)for x in d] for d in data]#我轉完後 我不會單獨寫一個判斷出來
轉完變這樣
[[0.0, 0.0], [0.001, 0.108], [0.002, 0.105], [0.003, 0.109], [0.004, 0.105], [0.005, 0.103], [0.006, 0.107], [0.007, 0.111], [0.008, 0.11], [0.009, 0.108], [0.01, 0.109]]
直接從這裡開始 不用從tuple開始寫
答案
[[0.001, 0.108],[0.003, 0.109],[0.007, 0.111],[0.008, 0.11],[0.009, 0.108], [0.01, 0.109]]
感謝 我放了出現跟我寫的結果一樣 後來才發現原來不是寫錯自己後面沒改target_item_list 沒跟著一起做>=0.108所以都只找到0.097-0.10 非常感謝!!!!!!