繁体   English   中英

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

[英]Python comparing two list elements in Python 3

我有一个想解决的创意问题。

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

req_param = ['ele1','ele2','ele3','ele4]
full_param = [['ele1','ele2','ele3','ele4','ele6'] 

在比较过程中,我不在乎 full_param 列表中是否还有其他元素。 我只关心如果 full_param 具有 req_param 的所有元素,那么我想以某种方式将其返回为真,否则我想将其返回为假。

目前,这适用于 for 循环。 但真的认为应该有一个内置的fxn,比如比较。 最重要的部分是每个元素可能不会以相同的顺序出现,所以我可以在将列表传递给 fxn 之前对其进行排序...

如前所述,有几种方法:

  1. 使用 all(): if all(item in full_list for item in req_param):
  2. 使用 set(): if set(req_param).issubset(set(full_param)):

我想出了一个不同的方法来解决这个问题。

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

就是这样:

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM