forサイクルvs whileサイクル

1493 ワード

本稿では,whileサイクルがforサイクルよりも自由であるという結論を得ることができるだろうか.つまりforサイクルでできることは、whileサイクルでもできるが、whileサイクルでできることは、forサイクルでできるとは限らない.
Python言語のforサイクルに対する支持は実はC言語に及ばない.Pythonのforサイクルは、判断の意味がなく、遍歴が多いが、whileサイクルは天然の判断である.
  • while循環天然は判断論理を有し、for循環は循環内部に判断論理を追加する必要があり、満たさなければbreakである.
  • whileサイクルはサイクル変数の更新をサイクルの内部に置いて、自分で指定することができて、forサイクルは天然に1を加える動作を内蔵しました;

  • 両者の違いは、1つの例で集中的に表現できます.
    #           
    def merge(l1, l2):
        l3 = []
        i, j = 0, 0
        n1, n2 = len(l1), len(l2)
        while i < n1 and j < n2:
            if l1[i] <= l2[j]:
                l3.append(l1[i])
                i += 1
            else:
                l3.append(l2[j])
                j += 1
        if i < j:
            l3.extend(l1[i:])
        else:
            l3.extend(l2[j:])
        return l3