Skip to main content
Geosciences LibreTexts

5.5: continue, break, enumerate, zip

  • Page ID
    23765
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \( \newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\)

    ( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\id}{\mathrm{id}}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\kernel}{\mathrm{null}\,}\)

    \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\)

    \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\)

    \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    \( \newcommand{\vectorA}[1]{\vec{#1}}      % arrow\)

    \( \newcommand{\vectorAt}[1]{\vec{\text{#1}}}      % arrow\)

    \( \newcommand{\vectorB}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vectorC}[1]{\textbf{#1}} \)

    \( \newcommand{\vectorD}[1]{\overrightarrow{#1}} \)

    \( \newcommand{\vectorDt}[1]{\overrightarrow{\text{#1}}} \)

    \( \newcommand{\vectE}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash{\mathbf {#1}}}} \)

    \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \(\newcommand{\avec}{\mathbf a}\) \(\newcommand{\bvec}{\mathbf b}\) \(\newcommand{\cvec}{\mathbf c}\) \(\newcommand{\dvec}{\mathbf d}\) \(\newcommand{\dtil}{\widetilde{\mathbf d}}\) \(\newcommand{\evec}{\mathbf e}\) \(\newcommand{\fvec}{\mathbf f}\) \(\newcommand{\nvec}{\mathbf n}\) \(\newcommand{\pvec}{\mathbf p}\) \(\newcommand{\qvec}{\mathbf q}\) \(\newcommand{\svec}{\mathbf s}\) \(\newcommand{\tvec}{\mathbf t}\) \(\newcommand{\uvec}{\mathbf u}\) \(\newcommand{\vvec}{\mathbf v}\) \(\newcommand{\wvec}{\mathbf w}\) \(\newcommand{\xvec}{\mathbf x}\) \(\newcommand{\yvec}{\mathbf y}\) \(\newcommand{\zvec}{\mathbf z}\) \(\newcommand{\rvec}{\mathbf r}\) \(\newcommand{\mvec}{\mathbf m}\) \(\newcommand{\zerovec}{\mathbf 0}\) \(\newcommand{\onevec}{\mathbf 1}\) \(\newcommand{\real}{\mathbb R}\) \(\newcommand{\twovec}[2]{\left[\begin{array}{r}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\ctwovec}[2]{\left[\begin{array}{c}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\threevec}[3]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\cthreevec}[3]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\fourvec}[4]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\cfourvec}[4]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\fivevec}[5]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\cfivevec}[5]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\mattwo}[4]{\left[\begin{array}{rr}#1 \amp #2 \\ #3 \amp #4 \\ \end{array}\right]}\) \(\newcommand{\laspan}[1]{\text{Span}\{#1\}}\) \(\newcommand{\bcal}{\cal B}\) \(\newcommand{\ccal}{\cal C}\) \(\newcommand{\scal}{\cal S}\) \(\newcommand{\wcal}{\cal W}\) \(\newcommand{\ecal}{\cal E}\) \(\newcommand{\coords}[2]{\left\{#1\right\}_{#2}}\) \(\newcommand{\gray}[1]{\color{gray}{#1}}\) \(\newcommand{\lgray}[1]{\color{lightgray}{#1}}\) \(\newcommand{\rank}{\operatorname{rank}}\) \(\newcommand{\row}{\text{Row}}\) \(\newcommand{\col}{\text{Col}}\) \(\renewcommand{\row}{\text{Row}}\) \(\newcommand{\nul}{\text{Nul}}\) \(\newcommand{\var}{\text{Var}}\) \(\newcommand{\corr}{\text{corr}}\) \(\newcommand{\len}[1]{\left|#1\right|}\) \(\newcommand{\bbar}{\overline{\bvec}}\) \(\newcommand{\bhat}{\widehat{\bvec}}\) \(\newcommand{\bperp}{\bvec^\perp}\) \(\newcommand{\xhat}{\widehat{\xvec}}\) \(\newcommand{\vhat}{\widehat{\vvec}}\) \(\newcommand{\uhat}{\widehat{\uvec}}\) \(\newcommand{\what}{\widehat{\wvec}}\) \(\newcommand{\Sighat}{\widehat{\Sigma}}\) \(\newcommand{\lt}{<}\) \(\newcommand{\gt}{>}\) \(\newcommand{\amp}{&}\) \(\definecolor{fillinmathshade}{gray}{0.9}\)

    1. Break Statement: The `break` keyword can be employed to exit a loop prematurely when a certain condition is met.  For example, consider this code:

    for ii in range(10):

    print(ii)

    This prints 0 through 9.  `break` lets you terminate the loop early.  For example, if you only want to print up to 5, you could write the code like this:

    for ii in range(10):

    if ii > 5: break

    print(ii)

    When the code exceeds 5, the break command is executed and the loop is exited. This is useful when the loop condition might be hardcoded or otherwise unchangeable, and you need an early exit strategy.

    2. Continue Statement: Unlike `break`, which exits the loop, `continue` skips the remainder of the current iteration and moves on to the next one. This allows you to exit a loop iteration but without having to terminate the loop entirely.

    For example, if we only want to print to 5, we could use this code:

    for ii in range(10):

    if ii > 5: continue

    print(ii)

    In this case, the continue statement does not cause the loop to end, but, once ii exceeds 5, it sends the loop back to the top before it executes the print statement.  Use this when you are done with a particular iteration and want to skip any remaining code in the for loop and move on to the next iteration.

    3. Enumerate Function: The `enumerate` function in Python is useful when you need both the index and the value of items in a list during iteration. Let's consider a list of fruits and say we want to print each fruit along with its index in the list.

    # List of fruits
    fruits = ['Apple', 'Banana', 'Cherry', 'Date', 'Elderberry']

    # Using enumerate to get both index and value
    for index, fruit in enumerate(fruits):
        print(index , ',' , fruit)

    When this code is executed, it will produce the following output:
    0, Apple
    1, Banana
    2, Cherry
    3, Date
    4, Elderberry

    4. Zip Function: The `zip` function is a powerful tool for iterating over multiple lists in parallel. Suppose you have two lists, one containing names of students and another containing their corresponding scores, and you want to print out each student's name along with their score.

    Here's how you could use `zip` to accomplish this task:
    # List of student names
    students = ['Alice', 'Bob', 'Charlie', 'Dave']

    # Corresponding scores
    scores = [85, 92, 78, 90]

    # Using zip to iterate over both lists
    for student, score in zip(students, scores):
        print(f"Student: {student}, Score: {score}")

    When you run this code, you'll see the following output:
    Student: Alice, Score: 85
    Student: Bob, Score: 92
    Student: Charlie, Score: 78
    Student: Dave, Score: 90

    In this example, the `zip` function takes the two lists `students` and `scores`, and moves the elements into `student` and `score`, which you can use within the loop.

    This approach is much cleaner than iterating through the lists separately and then indexing into them, especially when you're dealing with more than two lists. It makes the code easier to read and understand, adhering to the principles of clean and efficient coding that the speaker in your transcript emphasized.

    Let me emphasize that Python's flexibility allows for multiple ways to achieve the same outcome. For example, one almost never needs to use zip or enumerate, although using those functions can make the code cleaner.

     


    5.5: continue, break, enumerate, zip is shared under a not declared license and was authored, remixed, and/or curated by LibreTexts.

    • Was this article helpful?