如何检查赋予函数的参数是否为列表?

时间:2016-11-23 10:08:51

标签: python function conditional

如果给出的参数不是列表,我希望函数返回注释。如果它是一个列表,我想执行一些操作。

下面是代码:

def manipulate_data(*num):
  if type(num) is not list:
    return "Only lists allowed"
  else:
    positive = 0
    for n in num:
        if n >= 0:
            positive = positive + 1

2 个答案:

答案 0 :(得分:0)

通过使用* nums参数,您将所有参数打包到列表中。 official documentation可能很有用。

manipulate_data(1, 2, 3, 4, 5)将导致num = (1, 2, 3, 4, 5),而manipulate_data([1, 2, 3, 4, 5])将导致num = ([1, 2, 3, 4, 5],)这是一个仅包含一个元素的元组。删除*或者如果需要处理多个列表作为参数使用循环来检查每个元组元素。

def manipulate_data(num):
  if type(num) is not list:
    return "Only lists allowed"
  else:
    positive = 0
    for n in num:
        if n >= 0:
            positive += 1
    return positive
def manipulate_multiple(*nums):
  for num in nums:
    manipulate_data(num)

请记住此功能尚未返回任何内容

答案 1 :(得分:-1)

好吧,让它更干净,除了a,b,所有左侧位置参数都将传递给c

"args": {"panel": "find", "reverse": false} },

...

>>> def func(a, b, *c):
...     print a
...     print b
...     print c