将函数应用于元素或python中的元素列表的最佳方法

时间:2014-05-07 20:07:32

标签: python python-2.7 recursion

美好时光!

制作可应用于一个元素或相同元素列表的函数的最佳方法是什么? 例如,我有这样的功能,我不想在外面制作地图。

    def setName(self, name):

        if isinstance(name, list):
            return map(self.setName, name)
        else:
            self.names.append(name)
            return

例如,我不知道会发生什么(字符串或列表),我需要使功能多用途。

name = "a"
names = ["a", "b", "c"]
obj.setName(name)
obj.setName(names)

还有其他一些(更优化的)方法吗?

1 个答案:

答案 0 :(得分:0)

我能想到的最好方法是接受可变数量的参数:

def setName(self, *names):
    for name in names:
        self.names.append(name)

现在你可以用:

来调用它
c.setName("Utku")

c.setName("Utku", "Onur")

names = ["Utku", "Onur"]
c.setName(*names)