1. 程式人生 > >python3 for 迴圈中的 else 語句

python3 for 迴圈中的 else 語句

引言

  • 我們今天用for else講述這麼個小故事

簡介

作業系統:window7 x64
程式設計IDE:Pycharm 2016.1.2
Python版本:3.6.1
編輯時間:2017年4月21日

for else

簡述

  • 英文原文

    A break statement executed in the first suite terminates the loop without executing the else clause’s suite. A continue statement executed in the first suite skips the rest of the suite and continues with the next item, or with the else clause if there is no next item.

  • 中文譯文
    break 關鍵字終止當前迴圈就不會執行當前的 else 語句,而使用 continue 關鍵字快速進入下一論迴圈,或者沒有使用其他關鍵字,迴圈的正常結束後,就會觸發 else 語句。

觸發 else

  • 正常結束的迴圈

    list = [1,2,3,4,5]
    for x in list:
        print(x)
    else:
        print("else")
  • 使用 continue 關鍵字

    list = [1,2,3,4,5]
    for x in list:
        continue
        print(x)
    else:
        print("else")

不觸發 else

list = [1,2,3,4,5]
for x in list:
    print(x)
    break
else:
    print("else")

總結

for else語句可以總結成以下話。
如果我依次做完了所有的事情(for正常結束),我就去做其他事(執行else),若做到一半就停下來不做了(中途遇到break),我就不去做其他事了(不執行else)。

  1. 只有迴圈完所有次數,才會執行 else
  2. break 可以阻止 else 語句塊的執行。

相關推薦

python3 for 迴圈else 語句

引言 我們今天用for else講述這麼個小故事 簡介 作業系統:window7 x64 程式設計IDE:Pycharm 2016.1.2 Python版本:3.6.1 編輯時間:

對於for迴圈的continue語句的使用

C++Primer.171頁:continue語句終止最近的迴圈中的當前迭代並立即開始下一次迭代。 #include "stdafx.h" #include <iostream> using namespace std; int _tmain(int argc

根據影象名字把一個大資料夾影象分類(matlabfor迴圈巢狀if語句

clear; close all; clc; inpath = 'G:\code\xianzhu\Z_CODE\SalBenchmark-master\Data\DataSet1\Saliency\*.png'; %%需要分類的資料夾路徑 %%分類後圖像儲存路徑%% CA_p

oracle 學習之:for迴圈包涵select語句

      oracle中的for迴圈用法比較簡單,但是在一次用到包涵select語句的for迴圈時,還是發現了一些自己以前沒有注意的東西。       我的程式碼如下: declare val1 date;val2 date;begin   for i in (select

Pythonfor迴圈搭配else的陷阱

假設有如下程式碼: for i in range(10): if i == 5: print 'found it! i = %s' % i else: print 'not found it ...' 你期望的結果是,當找到5時打印出: found it! i = 5 實際上打

break 和 continue 和 return在if語句for迴圈的區別

public static void main(String[] args) {         int j = 3;           for (int i = 0; i < 5; i++) {           if (i == j)  {      

for 迴圈奇怪的else

對於條件語句 if- else 我們已經很熟悉了, 但是在Python中,for-else用於處理遍歷失敗。 比如我們要實現這樣一個功能:找出(81,99)中最大的完全平方數並輸出,找不到則輸出提示。 如果用c++的for迴圈實現,必須手動的判斷for迴圈是否遍歷失敗:

for迴圈的三語句執行順序

for迴圈的執行語法是: for(<;初始化>;<條件表示式>;<增量>) 語句; 初始化總是一個賦值語句,它用來給迴圈控制變數賦初值;條件表示式是一個關係表示式,它決定什麼時候退出迴圈;增量定義迴圈控制變數每迴圈一次後按什麼方式變

jsrender在for迴圈獲取上級資料

使用~root可以在模板中訪問到頂層資料,從頂層資料往下就可以訪問到所有資料了,如下: <script id="item-list" type="text/x-jsrender"> {{for items}} {{if ~root.type == "pi

JS基礎 關於閉包在for迴圈的使用

主要是針對ES5的語法,因為ES6中有塊級作用域了(儘管我不知道為什麼我還一直在用es5的語法) 先展示一段問題程式碼 1 for (var i = 0; i < data.length; i++) { 2 var $btn=$('#iBtn'); 3 $btn.on('c

JS獲取for迴圈i的實時值

最近在完成燈箱效果時,需要獲取for迴圈中i的實時值來定位大圖輪播的索引,但最初獲得的是i的最大值 幾種獲取for迴圈中i的實時值方法: 自調: for (var i = 0; i < itemli.length; i++) { (function (arg) {

pythonelse語句與with語句

else語句 if-else語句: 與while語句和for迴圈配合使用: else語句只有在迴圈順利完成後執行,如果迴圈執行過程中使用break等跳出迴圈則else語句不會被執行 求一個數的最大約數: def showMAXFactor(num): cou

【轉載】 for迴圈i++與++i的效率探究

原文連結:https://blog.csdn.net/zy1691/article/details/4849808?utm_source=blogxgwz1 for(int i=0;i<=50;i++)   我們經常會使用這樣的程式碼來做迴圈,一般在for迴圈中習慣於

RETURN的用法是什麼?若用在FOR迴圈,還會執行下一次迴圈嗎?

這裡是修真院前端小課堂,每篇分享文從 【背景介紹】【知識剖析】【常見問題】【解決方案】【編碼實戰】【擴充套件思考】【更多討論】【參考文獻】 八個方面深度解析前端知識/技能,本篇分享的是: 【return的用法是什麼?若在for迴圈中,還會執行下一次迴圈嗎?】 【修真院web小課堂

【轉】python3迴圈遍歷map,遍歷一遍後再次進入內迴圈,map為空

今天在使用python map的過程中,發現了一個奇怪問題,map遍歷完成後,再次訪問map,發現map為空了,特記錄下來,以備日後檢視。 如下程式碼,期望的結果是每次從外迴圈進入內迴圈,map都從頭開始進行遍歷,但事實卻不是這樣,下面為程式碼: outData = [[1, 3, 4], [2, 3,

for迴圈刪除,資料不正確

背景:在寫業務程式碼的時候,需要篩選list中符合條件的物件 ,for迴圈不能奏效,當時的處理方法是,將刪除的index存放在陣列中,然後再倒序刪除原list中的資料。現在來試一下各種方法迴圈刪除的功能。 List<Map<String,Object>

Java for迴圈設定停頓 邏輯程式碼同樣適用

for (Object object : jsonArray) { Thread.currentThread().sleep(1000); list.add(((JSONObject)object).get("Name")); } 此處的停頓 適用於邏輯程式碼和迴圈 1

Linux gcc for 迴圈 i=i++ 會造成死迴圈問題及 ++i / i++ 彙編分析

在把 Windows 程式移植到 Linux 時遇到了死迴圈,最後定位到了類似這種的語句 for (i = 0; i < 1; i = i++), 別問我是誰寫的,為什麼這麼寫(淚目!)。 根據我自己的感覺, i = i++ 應該等價於 i++(C標準中 i=i++ 的行為未

async/await - 8.在for迴圈正確的使用await

async/await - 8.在for迴圈中正確的使用await const fetch = require('node-fetch') const bluebird = require('bluebird') async function getZhihuColumn(id) { awai

java for迴圈使用克隆代替new物件

public class User implements Cloneable { private Integer age; private String name; pub