我有两个列表listOne
和listTwo
例如listOne
可以包含“关于”,“日”,“学校”listTwo
可以包含'a','c','da','z'
我想找出listOne
中所有以listTwo
中的元素开头的元素。上面示例的输出是“ about”和“ day”
我尝试使用以下代码实现它:
for elem1 in listTwo:
for elem2 in listOne:
if elem2.startswith(elem1):
result.append(elem2)
但我觉得它嵌套太多了。有没有更优雅的方法可以在Python中实现呢?
最佳答案
您这样做的方式很好。很容易阅读/理解等。
但是,如果您确实需要,可以使用itertools.product
压缩它:
from itertools import product
result = [elem2 for elem1, elem2 in product(listTwo, listOne) if elem2.startswith(elem1)]
关于python - 从另一个列表中的字符串开始的列表中查找字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38495868/