Python - 传递多个参数

时间:2013-12-25 14:16:36

标签: python function args

这适用于课程[Codecademy]。

 n = ["Michael", "Lieberman"]
    # Add your function here
def join_strings(lst):
    concat = ""
    for string in lst:
        concat += string
    return concat

但是,当我在常规Python中执行此操作时,在Codecademy环境之外,并且我将多个参数传递给函数,它会返回错误。我想知道如何确保函数的参数是一个列表。这样,我可以通过我想要的许多参数,函数将只是理解这是一个列表。

注意,我不想用*args或类似的东西来做这件事。我只是想知道是否有办法将实际列表传递给函数。

你需要做一些像字典吗?

4 个答案:

答案 0 :(得分:0)

将列表传递给函数:

join_strings(["Michael", "Lieberman"])

答案 1 :(得分:0)

使用星号运算符 -

def join_strings(*lst):

您的函数会将位置参数解释为列表

答案 2 :(得分:0)

您可以将列表作为参数传递给函数,例如在程序中,您可以像这样传递列表

n = ["Michael", "Lieberman"]
join_strings(n)

上面的代码将列表n传递给join_strings函数

要检查传递的参数是否为list,您可以使用这样的检查条件

def join_strings(lst):
    if isinstance(lst, list):
       #do something
    else:
       # do something else
上面代码中的

isinstance()方法用于检查传递的参数是否为list

答案 3 :(得分:0)

我很抱歉,当我在终端或其他什么地方打字时,显然我做错了什么。或者可能是Sublime(以前)与Mavericks上预装的Python东西进行交互的方式。从Sublime到终端,现在工作正常。我真的不确定最初的问题是什么或它来自哪里。

- 在我第一次输入代码的时候给了我正确的想法,然后我调整它以在concat字符串之间添加一个空格。

def join_strings(lst):
    concat = ""
    for string in lst:
        concat += (string + " ")
    return concat

感谢所有的帮助。抱歉打扰。 :)