淺談Python資料類型判斷及列表指令碼操作,python資料類型
資料類型判斷
在python(版本3.0以上)使用變數,並進行值比較時。有時候會出現以下錯誤:
TypeError: unorderable types: NoneType() < int()
或者類似的類型錯誤。
這是因為一方變數的資料類型不明(python無法判斷),所以出錯。
在一般情況下,可以提前對要使用的變數進行定義並賦值,例如:
var=' ' 或者 var=0
等等。
但是,若變數在比較前,是通過調用函數或者其他運算式賦值的,以上方法可能行不通,因為如果調用的函數如果存在錯誤或者沒有輸出或者輸出類型不對,都會出現類型錯誤。
所以可以在比較之前進行變數的類型判斷,格式:
import types
type(x) is types.IntType
或者
type(x) is types.StringType
以上是判斷變數的資料類型是整形還是字串類型。使用判斷語句,如果資料類型正確,則進行變數比較。
if type(x) is types.IntType:
var1<var2
建議出現此錯誤時,先查看自己的程式的每一步是否出錯。
列表指令碼操作
列表對 + 和 * 的操作符與字串相似。+ 號用於組合列表,* 號用於重複列表。
對於組合操作,還可以進行以下操作得到:
a=[]
b=[1,2,3,4,5,6,7,8,9,0]
a.append(b[i:j]+b[j+1:k]+[b[k+1]-m])
如下執行個體
在這個程式中加號+兩邊任然是清單類型資料,所以是組合操作。
而以下操作中,加號+前一個是列表,後一個是單一的數,類型不一致,所以出錯。
對於單一的數值,可以通過添加 [ ] 使其變為清單類型,即 [a[2]]。
對於字串的操作與以上是一樣的。
這種操作可以用在迴圈中,作為動態數儲存於讀取使用。
注意
以下的操作以以上的操作不一樣,以下操作是對數的加法運算。
a.append(b[i]+b[j])
以上這篇淺談Python資料類型判斷及列表指令碼操作就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援幫客之家。