Python比较Python3中的两个列表元素

Python比较Python3中的两个列表元素,python,python-3.x,list,Python,Python 3.x,List,我有一个创造性的问题,我想解决 假设我有两个列表,如下所示。我想比较req_param列表中的所有元素是否也在full_列表中。我知道使用for循环并得到答案也很容易。但是我想弄清楚是否有一个python3内置的fxn可以做同样的事情 req_param = ['ele1','ele2','ele3','ele4] full_param = [['ele1','ele2','ele3','ele4','ele6'] 在比较过程中,我不在乎完整参数列表中是否有其他元素。我只关心如果full_p

我有一个创造性的问题,我想解决

假设我有两个列表,如下所示。我想比较req_param列表中的所有元素是否也在full_列表中。我知道使用for循环并得到答案也很容易。但是我想弄清楚是否有一个python3内置的fxn可以做同样的事情

req_param = ['ele1','ele2','ele3','ele4]
full_param = [['ele1','ele2','ele3','ele4','ele6'] 
在比较过程中,我不在乎完整参数列表中是否有其他元素。我只关心如果full_param包含req_param的所有元素,那么我想返回true,否则,我想返回false


目前,这适用于for循环。但我真的认为应该有一个内置的类似fxn的比较。最重要的是,每个元素的顺序可能不同,因此在将列表传递给fxn之前,我可以对列表进行排序…

我找到了一种解决问题的不同方法

您可以使用
set()
len()
来解决问题,而不是for循环

以下是方法:

r = ['ele1','ele2','ele3','ele4']
f = ['ele1','ele2','ele3','ele4','ele6']
print(len(set(r)-set(f))==0)

如前所述,有几种方法:

  • 使用all():
    如果全部(请求参数中项目的完整列表中的项目):
  • 使用set():
    如果设置(请求参数)。issubset(设置(完整参数)):

  • 使用all关键字,如果满足所有条件,则返回True,否则返回False

    for循环如下所示:\n对于必需参数中的键:如果不在formData中的键:i+=1如果i>0,则返回False否则TrueUse
    all()
    和列表理解:
    if all(对于req参数中的项,完整列表中的项):
    请更仔细地格式化代码。这是明显的语法错误。缺少
    [
    太多了。@RupeshDesai for loops几乎从来都不是列表操作之类的问题的答案……python有如此出色的语法、内置功能和解决方法来消除常规for循环……例如,约翰戈登的replyWelcome!当我第一次看到它时,跳过
    if
    让我大吃一惊:)这是如何解决问题的?
    f
    包含不在
    r
    中的额外元素,OP表示可以,但此代码仍将返回False。您好!如果您想回答问题,可以举个例子吗?这对我很有效…我非常感谢您的帮助…感谢大家的回复!