Python高級特性——迭代(Iteration)

Python高級特性——迭代(Iteration)

1、給定一個集合list或者tuple,可以通過for …… in ……的語法來實現循環遍歷,這個循環我們就叫做迭代

迭代list:

>>> m = ['haha','hehe','heihei','gaga']
>>> for li in m:
...     print(li)
...
haha
hehe
heihei
gaga

迭代字符串:

>>> n = 'abcdefg'
>>> for str in n :
...     print(str)
...
a
b
c
d
e
f
g

迭代dict,迭代key

>>> l = {'name':'wuchong','age':15}
>>> for dic in l:
...     print(dic)
...
name
age

迭代value:

>>> for dic in l.values():
...     print(dic)
...
wuchong
15

同時迭代key、value:

>>> for key,value in l.items():
...     print(key,value)
...
name wuchong
age 15

Python中,只要是可迭代對象,都可以迭代。

那么,如何判斷一個對象是不是可迭代對象呢?方法是通過collections中的Iterable類型判斷。

>>> from collections import Iterable
>>> isinstance('123',Iterable)
True
>>> isinstance([1,2,3],Iterable)
True
>>> isinstance(123,Iterable)
False

可知,整數類型不是可迭代類型。

通過Python內置的enumerate函數可以把一個list變成索引-元素對的形式:

>>> m
['haha', 'hehe', 'heihei', 'gaga']
>>> for dx,value in enumerate(m):
...     print(dx,value)
...
0 haha
1 hehe
2 heihei
3 gaga

練習:使用迭代從一個list中查詢最大值和最小值,如果list為None,返回[None,None],并返回一個tuple

>>> def find(l):
...     if l==[]:
...             return (None,None)
...     else:
...             min  = max  = l[0]
...             for i in l:
...                     if i<min :
...                             min = i
...                     if i>max:
...                             max = i
...             return (min,max)
>>> l=[3,6,4,8,1,0]
>>> find(l)
(0, 8)
>>> l=[]
>>> find(l)
(None, None)

?

posted on 2017-12-17 18:30 風雨一肩挑 閱讀(...) 評論(...) 編輯 收藏

轉載于:https://www.cnblogs.com/hiwuchong/p/8052818.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/284880.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/284880.shtml
英文地址,請注明出處:http://en.pswp.cn/news/284880.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

ML.NET 更新

點擊上方藍字關注我們&#xff08;本文閱讀時間&#xff1a;5分鐘)ML.NET是一款面向.NET開發人員的開源&#xff0c;跨平臺機器學習框架&#xff0c;可以將自定義機器學習集成到.NET應用中。我們很開心地向您介紹我們在過去幾個月中所做的工作。ML.NET:https://dotnet.microsof…

Andriod之提示java.lang.SecurityException: getDataNetworkTypeForSubscriber導致程序奔潰

1、問題 修改targetSdkVersion 33 適配Android13后4G網絡環境被其它app拉起來提示這個異常 2、原因 我們定位到代碼在這行函數 telephonyManager.getNetworkType()Android11 的權限有關,由于缺少該權限導致無法訪問接口而提示安全異常 3、解決辦法 方法1:我們直接申請RE…

js-權威指南學習筆記7

第七章 數組 1、數組直接量的語法允許有可選的結尾的逗號&#xff0c;所以[ , , ]只有兩個元素而非三個。 2、調用構造函數Array&#xff08;&#xff09;創建數組時&#xff0c;傳入一個參數時表示指定數組的長度。 3、所有的索引都是屬性名&#xff0c;但只有在0~2^32-2之間的…

[譯]基于GPU的體渲染高級技術之raycasting算法

[譯]基于GPU的體渲染高級技術之raycasting算法 PS&#xff1a;我決定翻譯一下《Advanced Illumination Techniques for GPU-Based Volume Raycasting》。像我翻譯其他資料一樣&#xff0c;只按我的需要和觀點來翻譯。有的部分詳細翻譯&#xff0c;附加注解&#xff0c;有的部分…

【GIS風暴】什么是地理空間智能(Geospatial AI)?

人工智能(Artificial Intelligence,AI)已經成為新技術革命下一階段的熱詞,也成為未來產業的驅動力量。使用智能算法,數據分類和智能預測、分析,AI在很多領域將有一系列的工具來幫助解決問題。 將AI用于GIS這一具體的領域的分析、方法和解決方案,就叫地理空間智能(Geos…

JavaScript 清除圖片背景顏色 使之透明

主要JS /**清除圖片背景顏色 **/ function removeImgBg(img) {//背景顏色 白色const rgba [255, 255, 255, 255];// 容差大小const tolerance 60;var imgData null;const [r0, g0, b0, a0] rgba;var r, g, b, a;const canvas document.createElement(canvas);const cont…

day01基礎部分

一、python是什么樣的語言 1、編譯型語言和解釋型語言&#xff0c;python是解釋型語言 1.1、編譯型語言就是把源程序代碼一次性翻譯成機器碼&#xff08;計算機可識別的代碼&#xff09;&#xff0c;然后交給計算機去運行&#xff0c;一般需經過編譯&#xff08;compile&#x…

WPF 制作 Windows 屏保

分享如何使用WPF 制作 Windows 屏保WPF 制作 Windows 屏保作者&#xff1a;驚鏵原文鏈接&#xff1a;https://github.com/yanjinhuagood/ScreenSaver框架使用.NET452&#xff1b;Visual Studio 2019;項目使用 MIT 開源許可協議&#xff1b;更多效果可以通過GitHub[1]|碼云[2]下…

Java 定時線程

功能需求&#xff1a;項目啟動時&#xff0c;后天起一個定時線程&#xff0c;每個小時跑一次&#xff0c;查出數據發郵件出來。 主要使用 public void schedule(TimerTask task, long delay)task被安排在delay&#xff08;毫秒&#xff09;指定的時間后執行。 public void sche…

Windows 7 下右鍵發送到菜單項沒了

為什么80%的碼農都做不了架構師&#xff1f;>>> 問題描述: 突然有一天,Windows 7 下右鍵發送到菜單項沒了,如圖所示: 問題原因 黑人問號臉? 轉載于:https://my.oschina.net/taadis/blog/1591398

【ArcGIS微課1000例】0016:ArcGIS書簽操作(添加書簽、管理書簽)知多少?

書簽可以將地圖數據的某一視圖狀態保存起來,以便在使用時打開書簽,直接回到這一視圖狀態。可創建多個書簽以便快速回到不同的視圖狀態,也可以對書簽進行管理。 文章目錄 1 創建書簽2 管理書簽注意:書簽只針對空間數據,在【布局視圖】中是不能創建書簽的。 1 創建書簽 可…

Android之webView打開http鏈接頁面無法加載顯示net:ERR_CLEARTEXT_NOT_PERMITTED

1、問題 適配Android13后&#xff0c;webView打開http鏈接提示錯誤如下 net:ERR_CLEARTEXT_NOT_PERMITTED2、原因 Android 9.0 默認使用加密連接&#xff0c;這意味著老舊項目在android 9.0 設備上運行&#xff0c;會遇到異常的情況。 3、解決辦法 android:usesCleartextTr…

分享一個WPF 實現 Windows 軟件快捷小工具

分享一個WPF 實現 Windows 軟件快捷小工具Windows 軟件快捷小工具作者&#xff1a;WPFDevelopersOrg原文鏈接&#xff1a;https://github.com/WPFDevelopersOrg/SoftwareHelper框架使用.NET40&#xff1b;Visual Studio 2019;項目使用 MIT 開源許可協議&#xff1b;項目使用 MV…

學習環境配置:Manjaro、MSYS2以及常見軟件

0.前言 在說Manjaro之前&#xff0c;要先說一下Linux發行版。對于各大發行版而言&#xff0c;內核只有版本的差異&#xff0c;最重要的區別就是包管理系統。常見的包管理系統包括&#xff1a;Pacman&#xff0c;Apt , Yum和Portage。在學習Linux的過程中&#xff0c;和大數人一…

【ArcGIS微課1000例】0017:ArcGIS測量距離和面積工具的巧妙使用

文章目錄 1 交互式測量2 測量要素ArcGIS提供了快速測量距離和面積的工具,通過測量工具可對地圖中的線和面進行測量。 工具條: 測量工具位于【工具】工具條上,如下圖所示: 測量界面: 功能按鈕簡介: 可使用此工具在地圖上繪制一條線或者一個面,然后獲取線的長度與面的面…

[轉]HTTP/3 未來可期?

2015 年 HTTP/2 標準發表后&#xff0c;大多數主流瀏覽器也于當年年底支持該標準。此后&#xff0c;憑借著多路復用、頭部壓縮、服務器推送等優勢&#xff0c;HTTP/2 得到了越來越多開發者的青睞&#xff0c;不知不覺的 HTTP 已經發展到了第三代。本文基于興趣部落接入 HTTP/3 …

只讓輸入數字、字母、中文的輸入框

1.輸入框只能輸入字母和下橫線的正則表達式 <input type"text" onkeyup"this.valuethis.value.replace(/[^_a-zA-Z]/g,)" onpaste"this.valuethis.value.replace(/[^_a-zA-Z]/g,)"> 2.只能輸入數字和英文 <input type"text" …

華為手機logcat不出日志解決方案

進入撥號界面輸入&#xff1a;*#*#2846579#*#* 依次選擇ProjectMenu---后臺設置----LOG設置---LOG開關 點擊打開轉載于:https://www.cnblogs.com/liugangBlog/p/8058259.html

Android之啟動奔潰提示異常java.lang.SecurityException: Permission Denial: startForeground

1 問題 適配Android高版本,啟動奔潰,提示異常 java.lang.SecurityException: Permission Denial: startForeground from pid=1824, uid=10479 requires android.permission.FOREGROUND_SERVICEat android.os.Parcel.createException(Parcel.java:

【ArcGIS微課1000例】0018:ArcGIS設置相對路徑和數據源

文章目錄 ArcGIS設置相對路徑ArcGIS設置數據源ArcGIS設置相對路徑 菜鳥們在使用ArcGIS時經常會碰到將地圖文檔(.mxd)拷貝到別的電腦上或改變一個路徑時,出現數據丟失的現象,具體表現為圖層前面出現一個紅色的感嘆號,如下圖所示。 出現以上問題的根本原因是數據GSS.tif的原…