我有一个列表,其中包含 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)
关于python:打印列表和特殊外壳字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8884949/