[英]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 之前对其进行排序...
如前所述,有几种方法:
if all(item in full_list for item in req_param):
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.