[英]What should I use instead of isinstance()
我必須解析一些由列表組成的對象。 但是它可以在list內的list內有list: obj=[[smth1],[[smth2],[smth3]]]
每個smthX
也可以是一個列表。
我正在尋找一個我知道的“第二層列表”中的值。 在我的示例中,它可能在[[smth2],[smth3]]
我現在正在做的事情是迭代我的對象,並測試我正在迭代的對象是否正確。 如果是這樣,我會尋找自己的價值。
for list in obj :
if isinstance(list, obj) :
for souslist in list :
I LOOK FOR MY VALUE
但是我到處都在讀( http://canonical.org/~kragen/isinstance/很多stackoverflow線程), isinstance()
的使用僅用於特殊場合(而我的使用看起來並不特殊) )
在使用isinstance()
之前,我曾嘗試在try / except中測試list [0]返回了我什么,但感覺甚至更糟。 還有其他方法可以以干凈的方式實現這一目標嗎? (我無法處理我要處理的obj
格式)
如果您要先查找包含兩個項目(列表)的子列表,則需要檢查長度(如果您確定所有項目都是列表),然后使用isinstance()
子列表中的所有項目是否都是列表isinstance()
for sub in obj:
if len(sub) == 2 and all(isinstance(i, list) for i in sub): # you can add " and isinstance(sub, list)" if you are not sure about the type of sub
look_val(sub)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.