iT邦幫忙

0

python continue list 問題

i=[[0.107, 0.115, 0.113, 0.109], [0.218, 0.253, 0.234, 0.182]]
for letter in i:     # 第一个实例
   if letter < 0.11:
      continue
   print( '当前字母 :', letter)

TypeError: '<' not supported between instances of 'list' and 'float'

i=[0.107, 0.115, 0.113, 0.109,0.218, 0.253, 0.234, 0.182]
for letter in i:     # 第一个实例
   if letter < 0.11:
      continue
   print( '当前字母 :', letter)

当前字母 : 0.115
当前字母 : 0.113
当前字母 : 0.218
当前字母 : 0.253
当前字母 : 0.234
当前字母 : 0.182

對list真的很不熟,第一個[] 第二個[[]] 差別在哪不是都是元素嗎?
常遇到這樣的問題,因為結果通常都是合併過的如果要他判斷怎麼做會比較好?

罐頭 iT邦新手 4 級 ‧ 2018-08-31 08:16:49 檢舉
[] 有一層 [[]] 有兩層 所以你第一個這樣下 letter 一樣會是list
妳可以多做個判斷他是不是list
基本上for你可以當作將list最外面那層撥開擺在你面前
Ex:
[ a , b , c] → a , b , c
[ [ a , b , c ] ] → [a,b,c]
[ [ a , b ], a , b] → [a,b] , a , b
多用基本上就熟了
JK iT邦新手 5 級 ‧ 2018-08-31 20:52:12 檢舉
其實也不用判斷,再多加一個迴圈就可以解開了
i=[[0.107, 0.115, 0.113, 0.109], [0.218, 0.253, 0.234, 0.182]]
for letter in i:
for letter1 in letter:
if letter1 < 0.11:
continue
print( '当前字母 :', letter1)
hoolada iT邦新手 5 級 ‧ 2018-08-31 23:43:40 檢舉
c13891089大大
JK大大
感恩 秒懂 !!!!!!

1 個回答

0
海綿寶寶
iT邦超人 1 級 ‧ 2018-08-31 09:02:16
最佳解答

一模一樣的程式
在python2.7可以通過
在python3.6就出現跟你一樣的錯誤訊息
https://ithelp.ithome.com.tw/upload/images/20180831/20001787xKPfUjACZP.png
https://ithelp.ithome.com.tw/upload/images/20180831/20001787zASPlOhGAG.png

如果你是要「list裡所有值跟特定值做比較的話」
可以參考method 1 Traveral of list

hoolada iT邦新手 5 級 ‧ 2018-08-31 23:44:30 檢舉

參考 比較的方法好懂 感恩。

我要發表回答

立即登入回答