【发布时间】:2018-10-24 21:05:50
【问题描述】:
我创建了以下函数
list1 = [6,2,3,8,1]
list2 = [9,3,5,2,1]
def value_in_both(list1,list2,value):
return value in list1 and value in list2
value_in_both(list1,list2,value)
代码似乎可以工作,并且基本上通过返回 True 或 False 来显示函数中输入的值是否存在于两个列表中。但是,我问自己,是否没有更有效或不同的方法来解决该问题。是否存在特定的预定义功能?尝试了其他一些不起作用的方法,到目前为止找不到功能。
干杯
【问题讨论】:
-
为什么会有一个预定义的函数呢?正如您所证明的那样,该语言允许您自己在一行中定义它。
-
set(list1)&set(list2) -
@mad_ 以及如何测试特定外部价值的成员资格?
-
@mad_ 为什么要计算整个交集?为什么要为一次会员资格测试制作两套?
-
如果只执行一次测试,没有什么比
value in list1 and value in list2更快的了。如果重复此操作,则可能会根据问题中未提供的信息进行优化。无论如何,除非需要,否则不应进行优化! (谷歌“过早优化”)
标签: python