将返回列表中的值的代码

时间:2018-04-01 16:28:18

标签: python

如果列表中输入了任何值,则会打印它们。

如果列表中未输入任何值,则应打印出-1

v = [13,26,27,29,59,62]

def search_list(v,n):
    if n ==v:
       print(n)
    else:
       print(-1)
print(search_list(v,13))

我写了这样的代码。但结果如下所示

-1
None 

3 个答案:

答案 0 :(得分:0)

您想要in运营商:

v = [13,26,27,29,59,62]

def search_list(v, n):
    if n in v:
       print(n)
    else:
       print(-1)
search_list(v, 13)
# 13

备注

  • in操作员检查项目是否在列表中。

用法

>>> v = [13,26,27,29,59,62]
>>> 13 in v
True
>>> 5 in v
False
  • 因为功能,您不需要print(search_list(v, 13)) 没有任何回报。默认情况下,如果没有返回,Python 返回None。因此,您在结果的末尾得到None。 只需拨打电话search_list(v, 13)即可。你在里面打印 功能。

答案 1 :(得分:0)

正如我所看到的那样,您要么在列表中搜索给定值然后打印它,那么您可以这样做:

v = [13,26,27,29,59,62]

def search_list(v,n):
    if n in v:
       print(n)
    else:
       print(-1)
search_list(v,13)

无需再次打印 - 您已经在上面的函数中执行了该操作,但是如果您希望函数返回它,那么只需简单:

v = [13,26,27,29,59,62]

def search_list(v,n):
    if n in v:
       return n
    else:
       return -1
print(search_list(v,13))

否则,如果你这样做

v = [13,26,27,29,59,62]

def search_list(v,n):
    if n in v:
       print(n)
    else:
       print(-1)
print(search_list(v,13))

输出将包含None,因为您没有定义任何返回类型,因此Python使用默认值,设置为None

答案 2 :(得分:0)

你应该使用in运算符作为对等运算符,如下所示。

v = [13,26,27,29,59,62] def search_list(v, n): if n in v: print(n) else: print(-1) search_list(v, 13) # 13

在运算符中检查列表中是否存在项目,而等于运算符检查单个项目是否等于始终为false的列表。

希望有所帮助