将列表成员传递给python函数中的一个变量

时间:2019-02-05 13:07:16

标签: python list

我在类似的库中看到一个python函数(提取):

def print_len(list_members):
    my_list = [list_members]
    print(len(my_list))

我想用2个或更多列表成员调用该函数,并且期望结果大于1。例如,

a = "one, two"
print_len(a)

a = "one", "two"
print_len(a)

a = ["one", "two"]
print_len(a)

但是所有试验的结果均为1。如何调用此函数以获得大于1的结果?

1 个答案:

答案 0 :(得分:1)

您的print_len函数无法实现您认为的功能:

def print_len(list_members):
    my_list = [list_members]
    print(len(my_list))

这需要一个参数list_members。假设它的值是您的最后一个示例["one", "two"]。因此,list_members的长度为2,这就是您所期望的。

但是随后您的代码完成了

    my_list = [list_members]

所以my_list看起来像这样:[["one", "two"]] ...换句话说,是一个 one 元素的列表。该元素本身具有2个元素。但是您的代码占用的是外部列表的长度,该长度始终为1。改为打印len(list_members)