Python 學習筆記(八)Python列表(二)

来源:https://www.cnblogs.com/wangruihua-521/archive/2018/03/12/8549434.html
-Advertisement-
Play Games

列表函數 追加和擴展 list.append() 在列表末尾追加新的對象 extend()在列表末尾一次性追加另一個序列中的多個值(用新列表擴展原來的列表) 其他函數 count() 統計某個元素在列表中出現的次數 index() 從列表中找出某個值第一個匹配項的索引位置 insert() 將對象插 ...


列表函數

追加和擴展

list.append() 在列表末尾追加新的對象

 1 >>> dir(list)  #dir 查看列表的函數
 2 ['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__delslice__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getslice__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__setslice__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
 3 >>> help(list.append) #help 查看 list.append() 函數的詳細內容
 4 Help on method_descriptor:
 5 
 6 append(...)
 7     L.append(object) -- append object to end  #將對象追加到末尾
 8 
 9 >>> a =[2,6]
10 >>> a.append(50)  #將對象50追加到列表a中
11 >>> a
12 [2, 6, 50]
13 >>> a.append("python book") 
14 >>> a
15 [2, 6, 50, 'python book']
16 >>> a
17 [2, 6, 50, 'python book', ['baidu', 'weibo']]
18 >>> b =[1]
19 >>> id(b)   #id 返回值給出在記憶體中的空間
20 60126664L
21 >>> b.append(5)
22 >>> b
23 [1, 5]
24 >>> b
25 [1, 5]
26 >>> id(b) #追加5 之後,id返回值 一樣
27 60126664L
28 >>> b.append("zhangsan")
29 >>> id(b)
30 60126664L
31 >>> b
32 [1, 5, 'zhangsan']
33 >>>
註:列表在被修改的時候,不是創建了一個新的列表,而是修改了原來的列表,這種修改稱為原地修改

extend()在列表末尾一次性追加另一個序列中的多個值(用新列表擴展原來的列表)

 1 >>> help(list.extend) #help查看list.extend函數的詳細內容
 2 Help on method_descriptor:
 3 
 4 extend(...)
 5     L.extend(iterable) -- extend list by appending elements from the iterable  #把可迭代對象中的元素追加到列表中
 6 
 7 >>> a=[1,2,3]  #可迭代對象
 8 >>> b=[4,5,6]  #可迭代對象
 9 >>> a.extend(b) 
10 >>> a           #b列表中的元素被一個個追加到a列表中
11 [1, 2, 3, 4, 5, 6] 
12 >>> a.extend("python")
13 >>> a
14 [1, 2, 3, 4, 5, 6, 'p', 'y', 't', 'h', 'o', 'n']
15 >>> alst =[1,2]20 >>> hasattr(alst,'__iter__') #判斷是否可迭代,是返回true ,否則false
21 True
22 >>> hasattr("python",'__iter__') #字元串不可迭代,此處是將字元串一個的字元拆出追加
23 False
24 >>> a =[1,2]
25 >>> a.append([4,5])
26 >>> a
27 [1, 2, [4, 5]]
28 >>> a.extend([4,5]) 
29 >>> a
30 [1, 2, [4, 5], 4, 5]
31 >>> b =[9,8]
32 >>> a.append(b[0])
33 >>> a.append(b[1])
34 >>> a
35 [1, 2, [4, 5], 4, 5, 9, 8]
36 >>>
註:append 與extend 區別就是,extend 將一個個的元素拆分追加,append是整體追加

其他函數

count() 統計某個元素在列表中出現的次數

 1 >>> help(list.count)
 2 Help on method_descriptor:
 3 
 4 count(...)
 5     L.count(value) -> integer -- return number of occurrences of value  #返回出現的次數
 6 
 7 >>> a =[1,1,1,2,2,2,3,3,3]
 8 >>> a.count(1)   #1這個元素在列表中出現3次
 9 3
10 >>> a.count(2)  #2這個元素在列表中出現3次
11 3
12 >>> a.count("a") #a在列表中沒有
13 0

index() 從列表中找出某個值第一個匹配項的索引位置

 1 >>> help(list.index)
 2 Help on method_descriptor:
 3 
 4 index(...)
 5     L.index(value, [start, [stop]]) -> integer -- return first index of value. #參數中的value值在列表中第一次出現的索引位置
 6     Raises ValueError if the value is not present.
 7 
 8 >>> a.index(1)
 9 0
10 >>> a.index(2)
11 3
12 >>>

insert() 將對象插入列表

 1 >>> help(list.insert)
 2 Help on method_descriptor:
 3 
 4 insert(...)
 5     L.insert(index, object) -- insert object before index  #把對象插入到索引所對應的元素的前面
 6 
 7 >>> a =["python","web"]
 8 >>> a.insert(1,"aaa")   #在索引是1的元素的前面插入一個字元串aa
 9 >>> a
10 ['python', 'aaa', 'web']
11 >>> a.insert(0,"like") #在最前面插入一個字元串like
12 >>> a
13 ['like', 'python', 'aaa', 'web']
14 >>>
註:insert為原地修改,沒有新建一個列表

pop() 移除列表中的一個元素(預設最後一個元素),並且返回該元素的值

 1 >>> help(list.pop)
 2 Help on method_descriptor:
 3 
 4 pop(...)
 5     L.pop([index]) -> item -- remove and return item at index (default last).  #刪除索引所對應的元素,並它作為返回值返回 (預設刪除最後一個元素)
 6     Raises IndexError if list is empty or index is out of range. #不能刪除為空的或者超出索引範圍的元素,否則索引錯誤
 7 
 8 >>> a
 9 ['like', 'python', 'aaa', 'web']
10 >>> a.pop(1)
11 'python'
12 >>> a
13 ['like', 'aaa', 'web']
14 >>>

remove() 移除列表中某個值的第一個匹配項

 1 >>> help(list.remove)
 2 Help on method_descriptor:
 3 
 4 remove(...)
 5     L.remove(value) -- remove first occurrence of value.  #移除某個值得第一個匹配項
 6     Raises ValueError if the value is not present.
 7 
 8 >>> a =["test","test","demo"]
 9 >>> a.remove("test")
10 >>> a
11 ['test', 'demo']
12 >>> a.remove("aa")
13 Traceback (most recent call last):
14   File "<stdin>", line 1, in <module>
15 ValueError: list.remove(x): x not in list
16 >>>

reverse()  反向列表中元素

 1 >>> help(list.reverse)
 2 Help on method_descriptor:
 3 
 4 reverse(...)
 5     L.reverse() -- reverse *IN PLACE*
 6 
 7 >>> a =[1,2,3,4,5]
 8 >>> a.reverse()
 9 >>> a
10 [5, 4, 3, 2, 1]
11 >>>

sort() 對原列表進行排序

 1 >>> help(list.sort)
 2 Help on method_descriptor:
 3 
 4 sort(...)
 5     L.sort(cmp=None, key=None, reverse=False) -- stable sort *IN PLACE*;
 6     cmp(x, y) -> -1, 0, 1
 7 
 8 >>> a =[5,9,3,1]
 9 >>> a.sort()  #從小到大排列
10 >>> a
11 [1, 3, 5, 9]
12 >>> b=[9,3,8,6]
13 >>> b.sort(reverse=True) #從大到小排列
14 >>> b
15 [9, 8, 6, 3]
16 >>>

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

-Advertisement-
Play Games
更多相關文章
  • 工廠方法(Factory Method)模式的意義是定義一個創建產品對象的工廠介面,將實際創建工作推遲到子類當中。核心工廠類不再負責產品的創建,這樣核心類成為一個抽象工廠角色,僅負責具體工廠子類必須實現的介面,這樣進一步抽象化的好處是使得工廠方法模式可以使系統在不修改具體工廠角色的情況下引進新的產... ...
  • num= 1 #值 =1while num <= 10 : # num(1)小於10 print(num) # 應該列印 這個1的值 num +=1 # num+=1等價於 num再加1 所以這個值一共是2 if num == 6: #如果為6 這個程式終止,如果沒有到6,那麼程式將會一遍一遍的走直 ...
  • 一、前言 1.1.環境 python版本:3.6 Django版本:1.11.6 1.2.預覽效果 最終搭建的blog的樣子,基本上滿足需求了。框架搭好了,至於CSS,可以根據自己喜好隨意搭配。 二、建立博客應用 2.1.建立項目和應用 創建工程blogproject 創建blog應用 打開 blo ...
  • 最近在寫一個項目的時候需要用到MonogoDB,存儲經緯度坐標的(貌似MongoBD乾這個比較專業),由於沒有玩過MongoBD,就跟著教程來整合這個東西,用的是SpringBoot來整合SpringData和MongoDB,大概是由於版本等原因 教程里是這樣寫的,完全沒毛病。 但是自己寫的時候就出 ...
  • 字典(dictionary) 字典是另一種可變容器模型,且可存儲任意類型對象。 字典的每個鍵值 key= value 對用冒號:分割,每個鍵值對之間用逗號,分割,整個字典包括在花括弧 {} 中 ,格式如下所示: 訪問字典里的值 字典遍歷 第一種方法:key遍歷 第二種方法:元素遍歷 判斷key是否存 ...
  • 序列 序列:數學上,序列是被排成一列的對象(或事件);這樣,每個元素不是在器他元素之前,就是在其他元素之後。這裡元素之間的順序非常重要。《維基百科》 序列是Python中最基本的數據結構。序列中的每個元素都分配一個數字 - 它的位置,或索引,第一個索引是0,第二個索引是1,依此類推。 Python有 ...
  • Description 已知va和vb分別為非遞減有序線性表,將va和vb進行合併為新的線性表vc,並保持vc仍然非遞減有序。 本題中,線性表元素為整數。線性表的最大長度為1000。 Input 輸入數據有多組,第一行為測試數據的組數t,接下來為2t行,每一組測試數據有兩行: 第一行的第一個數為va ...
  • 編寫第一個Java程式 完成工作:1.在文本編輯器中輸入一個Java程式。 2.使用括弧組織程式。 3.保存、編譯和運行程式。 1 package com.Jsample;//將程式的包名稱命名為com.Jsample 2 3 public class Helloworld {//將程式(類)命名為 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...