Python 嵌套for循环是否有更好的替代方案?

Python 嵌套for循环是否有更好的替代方案?,python,for-loop,Python,For Loop,你好 我想问一下,对于嵌套的for-循环,是否有更好的替代方案(或者只是编写代码)? 例如,现在我这样写: list_a = [1, 1, 2 ,3] list_b = [[1, 2], [3, 10]] for a in list_a: for b in list_b: if a >= b[0] and a <= b[1]: # Do something here break list_a=[1,1,2,3

你好

我想问一下,对于嵌套的
for
-循环,是否有更好的替代方案(或者只是编写代码)? 例如,现在我这样写:

list_a = [1, 1, 2 ,3]
list_b = [[1, 2], [3, 10]]

for a in list_a:
    for b in list_b:
        if a >= b[0] and a <= b[1]:
            # Do something here
            break
list_a=[1,1,2,3]
列表b=[[1,2],[3,10]]
对于列表中的a:
对于列表_b中的b:

如果a>=b[0]和a,这实际上取决于你想做什么。如果知道两个列表的长度相同,则可以使用一个循环。但是,您首先要将
嵌套列表展平
list_b
(这几乎类似于运行两个for循环,但更简洁、更快)

如果您询问嵌套循环以对给定数组进行排序,那么您可以在google或youtube中找到许多非常有用的资源(mergeSort、quickSort)

无论如何,下面是一个示例代码:


list_a = [1, 1, 2 ,3]
list_b = [[1, 2], [3, 10]]
flattened_b = [item for sublist in list_b for item in sublist]
for idx in range(len(list_a)):
    print(list_a, flattened_b)

关于扁平化列表的有趣博客:

您想只从内部循环中断还是从两个循环中断?这完全取决于您尝试执行的操作。是否需要强制
中断
?@devguy only from internal loop!“(这几乎类似于运行两个for循环,但更简洁、更快)“不是真的更快,不。事实上,这几乎肯定是较慢的。