Yuv*_*dam 10 python list-comprehension
给出两个列表:
chars = ['ab', 'bc', 'ca']
words = ['abc', 'bca', 'dac', 'dbc', 'cba']
Run Code Online (Sandbox Code Playgroud)
你如何使用列表推导来生成一个words由以下条件过滤的列表:假设每个单词的长度n和chars长度n也是如此,过滤后的列表应该只包含每个i字符在i-th字符串中的单词words.
在这种情况下,我们应该得到['abc', 'bca']结果.
(如果这对任何人来说都很熟悉,这是之前Google代码堵塞中的一个问题)
Sil*_*ost 20
>>> [word for word in words if all(l in chars[i] for i, l in enumerate(word))]
['abc', 'bca']
Run Code Online (Sandbox Code Playgroud)
Mar*_*tos 12
[w for w in words if all([w[i] in chars[i] for i in range(len(w))])]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3443 次 |
| 最近记录: |