Skip to main content
 首页 » 编程设计

python:打印列表和特殊外壳字典

2025年05月04日11xxx_UU

我有一个列表,其中包含 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)