【问题标题】:make many loops into single loop (NOT nested for loop)将许多循环变成单个循环(不嵌套 for 循环)
【发布时间】:2022-01-11 13:20:45
【问题描述】:

假设我有很多独立的 for 循环。如何在一行中写下我对 list_A 和 list_B 进行循环的地方?

我知道 zip() 函数,但它只有在 len(list_A) = len(list_B) 时才能按预期工作。 我的 list_A 和 list_B 的长度不同。我需要保证 x 在 list_A 和 list_B 上同时执行。关于如何在一行中实现这一点的任何想法?

for i in list_A:
     try:
        do x on list_A
     except Error: 
        pass

for i in list_B:
     try:
        do x on list_B
     except Error:
        pass

【问题讨论】:

    标签: dictionary for-loop filter zip


    【解决方案1】:
    1. 使用计数器解析列表。

    2. 将while条件与列表长度的最大值进行比较

    3. 运行循环并执行该过程。 (注意添加条件来检查计数器是否大于列表的长度)

    这是一个例子:

     i = 0
     while (i < max(len(list_A), len(list_B))):
        if(i < len(list_A)):
            x(list_A[i])
        if(i < len(list_B)):
            x(list_B[i])
        i = i +1
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-04-15
      • 1970-01-01
      • 2015-10-15
      • 1970-01-01
      • 2018-03-05
      • 2020-12-11
      • 2018-07-13
      相关资源
      最近更新 更多