我有一個列表,其中有項目是dict
或其他東西。python:打印一個列表和特殊套管字典
我想寫一個方法,打印列表,每個項目的行,但特殊情況下的字典;是這樣的:
def printSpecialList(mylist):
for item in mylist:
if itemIsDict(item):
printDictItem(item)
else:
print str(item)
我可以實現的一切,但itemIsDict
- 什麼是做到這一點的最簡單的方法?
只是澄清:
該列表的源產生使用字典文本例如項目{'a': 3, 'b': 4}
,這使得使用知道如何格式化自己的特殊字典類型變得很麻煩。另外,我的printSpecialList
方法稍微複雜一點,它有它自己的私有狀態,所以它包含了,所以實例測試儘管是「很糟糕」(例如,某人不能製作一個不會從字典中下降的模擬字典類,將與我的方法一起工作)似乎是最好的方式去這裏。
中找到除了在此不能識別「dict」的子類型,即使是這樣的對象,對於(幾乎)所有意圖和目的而言,也是完全有效的字典。 – delnan 2012-01-16 19:06:47
啊,這就是類型和isinstance之間的區別?謝謝,我不知道。 – Michael0x2a 2012-01-16 19:08:19