我有一个接收类实例列表的函数(但有时它可能只是一个无列表类实例),无论它是否是列表,我都想将其打印出来。我知道你可以这样做:
def func(obj):
if type(obj) == list:
for o in obj:
print o
else:
print obj
有没有一种快速、更好的方法来做到这一点,或者这是最干净的方法?
我有一个接收类实例列表的函数(但有时它可能只是一个无列表类实例),无论它是否是列表,我都想将其打印出来。我知道你可以这样做:
def func(obj):
if type(obj) == list:
for o in obj:
print o
else:
print obj
有没有一种快速、更好的方法来做到这一点,或者这是最干净的方法?
我最初使用最简单的 python 代码的想法是:
def func(obj):
if not isinstance(obj,list):
obj = [obj]
for o in obj:
print o
如果你打算只给它一个类实例,为什么不把它变成一个单一的项目列表来让一切变得更容易呢?这样,您始终可以将输入作为列表处理
def func(obj):
for o in obj:
print o
func([single_class])
func([class_one, class_two, class_n])
那这个呢??
def func(obj):
if not isinstance(obj, list):
obj = [obj]
map(f, obj)
出色地...
def func(*obj):
print(*obj)
def func(obj):
return map(some_function,obj) if isinstance(obj,(list,tuple)) else some_function(obj)
也许?对于更好的一些定义