繁体   English   中英

列表中有 n 个元素,如何检查它们是否满足条件?

[英]Having n elements in list, how can I check if they meet a condition?

有一个包含 n 个元素的列表,我如何检查每对元素是否满足条件?

example = ["aabbcc", "bca", "bc"]

for item in example:
   # check code here

我基本上想知道“aabbcc”的所有字符是否都在“bca”中,那么“bca”在“bc”中,“aabbcc”在“bc”中。

列表中始终包含三个元素很容易,但我如何测试所有具有列表的对 - 例如 - 15个元素?

您可以使用set.issubset和使用itertools.tee的成对配方,但map不起作用,因为它不会解压缩 arguments 但itertools.starmap会。

>>> example = ["aabbcc", "bca", "bc"]
>>> s, s1 = tee(map(set, example)); next(s1, None)
>>> list(starmap(set.issubset, zip(s, s1)))
[True, False]
>>> all(starmap(set.issubset, zip(s, s1)))
False

暂无
暂无

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

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