我有一个列表,其中包含 dict 或其他内容的项目。
我想写一个打印列表的方法,每一项都在一行中,但特殊情况下是字典;像这样的东西:
def printSpecialList(mylist):
for item in mylist:
if itemIsDict(item):
printDictItem(item)
else:
print str(item)
我可以实现除 itemIsDict 之外的所有东西 -- 最简单的方法是什么?
只是一个澄清:
此列表的来源使用字典文字生成项目,例如{'a': 3, 'b': 4},这使得使用知道如何自行格式化的特殊字典类型变得很麻烦。此外,我的 printSpecialList 方法有点复杂,它有自己的私有(private)状态,所以实例测试,尽管“令人讨厌”(例如,有人无法制作一个模拟字典类不是从适合我的方法的 dict 派生而来)似乎是最好的方法。
请您参考如下方法:
def itemIsDict(item):
return isinstance(item, dict)
