Python基礎學習總結(二)

来源:http://www.cnblogs.com/zt19994/archive/2017/07/02/7107051.html
-Advertisement-
Play Games

2、列表簡介 Python內置的一種數據類型是列表:list。 list是一種有序的集合。 列表由一系列按特定順序排列的元素組合。用 [ ] 來表示。 list裡面的元素的數據類型也可以不同,比如: >>> L = ['Apple', 123, True] 2.1索引列表 從0開始而不是1。當索引超 ...


2、列表簡介

Python內置的一種數據類型是列表:list。

list是一種有序的集合。

列表由一系列按特定順序排列的元素組合。用 [ ] 來表示。

list裡面的元素的數據類型也可以不同,比如:

>>> L = ['Apple', 123, True]

 

2.1索引列表

從0開始而不是1。當索引超出了範圍時,Python會報一個IndexError錯誤,所以,要確保索引不要越界。

如果要取最後一個元素,除了計算索引位置外,還可以用-1做索引,直接獲取最後一個元素。

2.2修改、添加和刪除列表元素

2.2.1添加元素

添加用append()

2.2.2插入元素

插入 insert()  指定新元素的索引和值。

>>> classmates.insert(1, 'Jack')

>>> classmates

['Michael', 'Jack', 'Bob', 'Tracy', 'Adam']

2.2.3刪除元素

1.1.     刪除 del 要知道索引位置   del ABC[0]

1.2.     要刪除list末尾的元素,用pop()方法。

1.3.     要刪除指定位置的元素,用pop(i)方法,其中i是索引位置。

1.4.     使用方法pop()刪除元素(彈出),可以接著使用刪除值。

1.5.     根據刪除元素 remove()

2.2.4修改元素

要把某個元素替換成別的元素,可以直接賦值給對應的索引位置。

classmates[1] = 'Sarah'

2.3組織列表

方法sort() 對列表進行永久性排序,首字母排序。

函數sorted() 對列表進行臨時排序。

倒著列印列表 reverse()。

確定列表長度 len()。

2.3.1列表中含有另一個列表

list元素也可以是另一個list,比如:

>>> s = ['python', 'java', ['asp', 'php'], 'scheme']

>>> len(s)

4

要拿到'php'可以寫p[1]或者s[2][1],因此s可以看成是一個二維數組。

3.操作列表

3.1遍歷整個列表

使用for迴圈

for a in A:不要漏了冒號

       print()註意縮進

print()迴圈結束後總結

3.2創建數值列表

1.函數range(),range(1,5)只能列印4個數字不能列印5

2.使用函數list()把range()轉換為列表list(range(1,5))

3.  ** 2個心號表示平方

4.對數字列表執行簡單的統計計算min()最小值 ;  max()最大值 ;  sum()總和

5.列表解析 將for 迴圈和創建新元素的代碼合併成一行,並自動附加新元素:

  [value**2 for value in range(1,11)]

3.3使用列表的一部分

3.3.1切片

對經常取指定索引範圍的操作,用迴圈十分繁瑣,因此,Python提供了切片(Slice)操作符,簡化操作。

1. [ : ]切片的起始從0開始,[:4]表示0到3,[-3:]表示倒數3個

2. [2 : ]表示從第3個到末尾

3. 甚至什麼都不寫,只寫[ : ]就可以原樣複製一個list。

4. [ : :步長];[ : : -1]把字元倒過來

5.字元串'xxx'也可以看成是一種list,每個元素就是一個字元。因此,字元串也可以用切片操作,只是操作結果仍是字元串。

6. 回數:str(n) == str(n)[ : :-1]

3.4元組

另一種有序列表叫元組:tuple。

tuple和list非常類似,但是tuple一旦初始化就不能修改,Python把不能修改的值稱為不可變的,不可變的列表被稱為元組。因為tuple不可變,所以代碼更安全。如果可能,能用tuple代替list就儘量用tuple。

3.4.1定義元組

1. 在( )中添加元素,用逗號隔開,訪問和列表一樣。但不能修改值。但可以賦值。數字可以直接(1,2,3,4),字元需要加引號(‘a’, ’b’, ’c’)

2.Python在顯示只有1個元素的tuple時,也會加一個逗號,以免你誤解成數學計算意義上的括弧。

  t = (1,)

3. tuple所謂的“不變”是說,tuple的每個元素,指向永遠不變。即指向'a',就不能改成指向'b',指向一個list,就不能改成指向其他對象,但指向的這個list本身是可變的!所有要創建一個內容也不變的tuple怎麼做?那就必須保證tuple的每一個元素本身也不能變。

3.5設置代碼格式

1. PEP8 

2.縮進格式,4個空格

3.行長不超過79個字元

4.使用空行組織結構


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 不解釋,直接上代碼: ...
  • 為了更好的備戰NOIP2013,電腦組的幾個女孩子LYQ,ZSC,ZHQ認為,我們不光需要機房,我們還需要運動,於是就決定找校長申請一塊電腦組的課餘運動場地,聽說她們都是電腦組的高手,校長沒有馬上答應他們,而是先給她們出了一道數學題,並且告訴她們:你們能獲得的運動場地的面積就是你們能找到的這個最大的 ...
  • 題目描述 在平面上有 n 個點(n <= 50),每個點用一對整數坐標表示。例如:當 n=4 時,4個點的坐標分另為:p1(1,1),p2(2,2),p3(3,6),P4(0,7),見圖一。 這些點可以用 k 個矩形(1<=k<=4)全部覆蓋,矩形的邊平行於坐標軸。當 k=2 時,可用如圖二的兩個矩 ...
  • 1.什麼是面向對象 面向對象(oop)是一種抽象的方法來理解這個世界,世間萬物都可以抽象成一個對象,一切事物都是由對象構成的。應用在編程中,是一種開發程式的方法,它將對象作為程式的基本單元。 2.面向對象與面向過程的區別 我們之前已經介紹過面向過程了http://www.cnblogs.com/zh ...
  • 網站爬蟲,主要是爬博客http://www.cnblogs.com/xxxx下的所有文章內容及標題,保存到data目錄下。具體如下: ...
  • 共用模式acquire實現流程 上文我們講解了AbstractQueuedSynchronizer獨占模式的acquire實現流程,本文趁熱打鐵繼續看一下AbstractQueuedSynchronizer共用模式acquire的實現流程。連續兩篇文章的學習,也可以對比獨占模式acquire和共用模 ...
  • C++相對於C語言而言支持函數重載是其極大的一個特點,相信在使用C語言的時候大家如果要寫一個實現兩個整型數據相加的函數還要寫一個浮點型數據相加的函數,那麼這兩個函數的名字絕對不可以一樣,這樣無疑在我們使用這個函數的時候增加了複雜性,但是在C++中我們卻可以很好的解決這個問題,因為在C++中函數是支持 ...
  • 需求:當進行文件長傳保存等操作時,能在頁面顯示一個帶百分比的進度條,給用戶一個好的交互體驗 實現步驟 JSP頁面 1.添加table標簽 這個table標簽要隱藏,進度條執行的時候再顯示。id為tdOne和tdTwo分別為進度條的藍色和灰色區域。 2.添加js代碼 當點擊保存時,執行loading( ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...