【问题标题】:Return a list from a function in Python从 Python 中的函数返回列表
【发布时间】:2017-06-21 01:49:08
【问题描述】:

我是 python 新手,如果这是一个愚蠢的问题,请原谅我,但我正在尝试从函数返回一个列表。这是我到目前为止所拥有的,但我无处可去。有人可以告诉我我在这里做错了什么吗?

我正在尝试创建一个名为 make_a_list(1, 5, "Christian") 的简单函数,它返回一个如下所示的列表:[1, 5, "Christian]

def make_a_list():
    my_list = ["1", "5", "Christian"]
    for item in my_list:
    return my_list

my_list = make_a_list()

print(my_list)

【问题讨论】:

  • "for item in my_list:"不用写了,前面的行里已经做list了,直接return吧。

标签: python list function


【解决方案1】:

你可以这样做:

def make_a_list(*args):
    return list(args)

print(make_a_list(1, 5, "Christian"))  # [1, 5, "Christian"]

但您不必这样做,因为有一个内置的 Python 已经可以做到这一点:

print(list((1, 5, "Christian")))  # [1, 5, "Christian"]

请注意,使用第二个选项,您传递的是整个 tuple,而不是单独传递元素。

【讨论】:

    【解决方案2】:

    我不确定这是不是你想要的,问题不清楚

    def make_a_list(*args):
        def inner():
            return list(args)
        return inner
    

    然后你会像这样使用它

    make_list_1 = make_a_list(1, 5, "Christian") # make_list_1 is a function
    make_list_2 = make_a_list(2, 10 "A different list") # make_list_2 is a different function
    
    list_1 = make_list_1() # list_1 is a list
    print(list_1) # that we can print
    

    【讨论】:

      【解决方案3】:

      在 Python 中,您不需要创建专用函数来创建列表。您可以非常轻松地创建列表。例如:

      list1 = ['one', 'two', 'three']
      print(list1)
      
      >>['one','two', 'three']
      

      查看以下网站,了解更多关于列表和其他 Python 概念的信息。 https://www.tutorialspoint.com/python/python_lists.htm

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-05-20
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多