2013-10-31 169 views
0

如何檢查列表中所有元素的類型?如何檢查對象類型

例如我有一個列表:

li = ["Hello", 12121, False] 

如何使一個程序,通過每個元件變爲列表中的,並輸出每個元素的類型

如「地獄」是一個字符串

12121是整數

False是一個布爾值。

回答

0

查看Python的內置isintance方法,以及type方法。要查找整個列表,可以簡單地遍歷列表並輸出type方法的結果。

例如:

for item in list: 
    print type(item) 

或者,如果你期待某些類型:

for item in list: 
    if isinstance(item,basestring): 
     print "I am a type of string!" 
    if isinstance(item,(str,unicode)): 
     print "I am a str or unicode!" 
    if isinstance(item,int): 
     print "I am a type of int!" 
    if isinstance(item,(int,float)): 
     print "I am an int or a float!" 
    if isinstance(item,bool): 
     print "I am a boolean!" 
    if isinstance(True,bool): 
     print "I am a boolean!" 
    if isinstance(True,int): 
     print "I am an int!" # because booleans inherit from integers ;) 

isinstance方法通常是更好,因爲它會針對繼承的類。詳細討論見this post

+0

我試過了,但它只搜索一種類型...... – user2891763

+0

@ user2891763您可以使用元組的'isinstance'中的參數與多種類型進行比較。我做了一個編輯來演示。 –