给定两个列表:
chars = ['ab', 'bc', 'ca']
words = ['abc', 'bca', 'dac', 'dbc', 'cba']
如何使用列表推导式生成过滤列表words
通过以下条件:假设每个单词的长度n
and chars
是有长度的n
同样,过滤后的列表应该只包含每个单词i
第 - 个字符位于i
第 - 个字符串words
.
在这种情况下,我们应该得到['abc', 'bca']
因此。
(如果这对任何人来说都很熟悉,这是之前 Google Code Jam 中的问题之一)
>>> [word for word in words if all(l in chars[i] for i, l in enumerate(word))]
['abc', 'bca']
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)