問題
示例代碼:
strlist = ['a','b','c']
for i in strlist:
if strlist[i] > 0:
...
報錯:
TypeError: list indices must be integers or slices, not str
解決
原因很簡單:python裏對list
進行for遍歷,默認第一個參數爲list
中的元素,而上面代碼中的strlist[i]
實際上strlist['a']
。因此想要遍歷list
,對其中的string
類型元素進行長短判斷,應該將代碼改爲:
strlist = ['a','b','c']
for i in strlist:
if i > 0:
...