我经常遇到这个问题:我正在创建一个需要对值执行一系列操作的函数,无论该值是单个值还是值列表.
有一种优雅的方式来做到这一点:
def convert_val(val):
do a series of things to each value, whether list or single val
return answer or list of answers
而不是我一直在做什么?:
def convert_val(val):
if isinstance(val, list):
... do a series of things to each list item,
return a list of answers
else:
... do the same series, just on a single value
return a single answer
一种解决方案是创建一个sub_convert()来执行一系列操作,然后只调用一次或迭代,具体取决于传入convert()的类型.
另一种方法是创建一个接受参数(value,sub_convert())的convert().
其他建议更紧凑,更优雅,最好是一体化?
(我在这里做了几次搜索,看看我的问题是否已经解决.如果有问题,我的意见.)
谢谢,
JS