2013-07-24 29 views
0

我有一个函数需要一个类实例列表(但有时它可能只是一个没有列表类实例),我想打印出它,无论如何它是一个列表或不是。我知道你可以做这样的事情做到这一点:在python中打印函数中未知大小的列表

def func(obj): 
    if type(obj) == list: 
     for o in obj: 
      print o 
    else: 
    print obj 

是否有一个快速的,更好的方式来做到这一点或这是最干净的方式是什么?

+0

为什么不'打印obj' –

+0

我想每一个对象,然后对其进行其他处理,我只是将打印作为一个简单的例子,如果需要,我可以添加更多我的意思 –

回答

1

我用最简单的Python代码最初的想法是:

def func(obj): 
    if not isinstance(obj,list): 
     obj = [obj] 
    for o in obj: 
     print o 
0
def func(obj): 
    return map(some_function,obj) if isinstance(obj,(list,tuple)) else some_function(obj) 

也许?对于一些更好的定义

0

如果您要将它只馈入一个类实例,为什么不把它放到单个项目列表中以使一切都变得更简单?这样,你总是可以处理输入列表

def func(obj): 
    for o in obj: 
     print o 

func([single_class]) 
func([class_one, class_two, class_n]) 
0

这是怎么回事?

def func(obj): 
    if not isinstance(obj, list): 
     obj = [obj] 
    map(f, obj) 
0

嗯......

def func(*obj): 
    print(*obj)