iT邦幫忙

0

python 練習如何尋找list大於某個數的值呢?

    for index, line in enumerate(reader):

有index了

我出現TypeError: '>=' not supported between instances of 'list' and 'float'
在來我就沒有想法了

我想要從list中取出大於0.5的值前後各一個值 如何寫呢?

a=[0.2, 0.4, 0.2, 0.1, 0.5, 0.2, 0.1, 0.1, 0.92, 0.2, 0.3, 0.4, 0.3, 0.5, 0.4, 0.2, 0.2]

結果:
[[0.1, 0.5, 0.2],[0.1, 0.92, 0.2],[0.3, 0.5, 0.4]]

想看大家怎麼寫的 拜託了

1 個回答

0
froce
iT邦大師 5 級 ‧ 2018-09-28 08:28:31
最佳解答

https://www.ideone.com/LvRE4w
list第一個和最後一個不檢查,因為沒辦法取到3個,會有index out of range的問題。

chien005 iT邦新手 5 級 ‧ 2018-09-28 10:48:55 檢舉

a=[[0.1,0.2],[0.2,0.4],[0.3,0.2],[0.4,0.1],[0.5,0.5],[0.6,0.2],[0.7,0.1],[0.8,0.1],[0.9,0.92],[1,0.2],[1.1,0.3],[1.2,0.4],[1.3,0.3],[1.4,0.5],[1.5,0.4],[1.6,0.2],[1.7,0.2]]
結果:[[[0.4,0.1],[0.5,0.5],[0.6,0.2]],[[0.8,0.1],[0.9,0.92],[1,0.2]],[[1.3,0.3],[1.4,0.5],[1.5,0.4]]
不好意思 如果這樣 大大會怎麼解決?想多看看邏輯然後自己套用 感謝!

froce iT邦大師 5 級 ‧ 2018-09-28 11:22:40 檢舉

1.我想我舉的例子已經夠了。生成式就是長那樣,如果還不會我也沒輒。

[「結果」 for i in 「可疊代物」 if 「條件」]

2.我沒時間去猜你怎麼樣生結果出來,請把條件寫清楚。
3.真的不會的話我覺得你不適合這行,因為這很簡單。

chien005 iT邦新手 5 級 ‧ 2018-09-28 13:06:09 檢舉

條件 一樣是[x,y]判斷y大於0.5的 判斷第二個[0.1,0.2],[0.2,0.4]
好 我會想想怎麼做感謝有看到幾篇的!

我要發表回答

立即登入回答