Given two lists:
chars = ['ab', 'bc', 'ca']
words = ['abc', 'bca', 'dac', 'dbc', 'cba']
how can you use list comprehensions to generate a filtered list of words
by the following condition: given that each word is of length n
and chars
is of length n
as well, the filtered list should include only words that each i
-th character is in the i
-th string in words
.
In this case, we should get ['abc', 'bca']
as a result.
(If this looks familiar to anyone, this was one of the questions in the previous Google code jam)
This works, using
index
:Am I missing something?
A more simple approach:
Why so complex? This works as well:
Using zip:
or using enumerate: