我有两个列表listOnelistTwo

例如

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/

10-09 07:08