漫步人生路之Python旅途(四)班荊道故

来源:https://www.cnblogs.com/caesar-id/archive/2019/01/03/10217462.html
-Advertisement-
Play Games

列表list初識 列表是python的基礎數據類型之一 ,它是以[ ]括起來, 每個元素用' , '隔開而且可以存放各種數據類型: list列表的定義: 列表的索引和切片操作: 列表的訪問與字元串切片類似,通過索引訪問列表元素,列表的切片也與字元串類似. 列表的常用方法:append():向列表的末 ...


列表list初識

列表是python的基礎數據類型之一 ,它是以[ ]括起來, 每個元素用' , '隔開而且可以存放各種數據類型:
list列表的定義:

list_ = []
list_1 = ["aaa","bbb","cccc","ddd"] list_2 = [1,2,3,4,5] list_3 = ["abc",145,True,["小明","小紅",278,33.9],25.9]

列表的索引和切片操作:

list_1 = ["abc",145,True,["小明","小紅",278,33.9],25.9]
# 列表的訪問是通過下標的方式
print(list_1[0])  # 訪問列表第一個元素
print(list_1[1])  # 訪問列表第二個元素
print(list_1[-1]) # 訪問列表最後一個元素
print(list_1)     # 訪問整個列表

列表的訪問與字元串切片類似,通過索引訪問列表元素,列表的切片也與字元串類似.

列表的常用方法:
append():向列表的末尾追加元素:

list_1 = ["abc",145,True,["小明","小紅",278,33.9],25.9]
list_1.append("我是追加的")
# 列印如下內容:
['abc', 145, True, ['小明', '小紅', 278, 33.9], 25.9, '我是追加的']

extend(可迭代對象):列表中迭代添加數據:

list_1 = ["abc",145,True,["小明","小紅",278,33.9],25.9]
list_1.extend("我是迭代的")
print(list_1)
# 列印如下內容:
['abc', 145, True, ['小明', '小紅', 278, 33.9], 25.9, '', '', '', '', '']

註意extend(參數)必須是可迭代的對象如list,str,dict,tuple,set等,如整形,bool是不可迭代的所以不能用作參數

insert(index,object):列表中插入元素

list_1 = ["abc",145,True,["小明","小紅",278,33.9],25.9]
list_1.insert(1,"我是插入的") # 預設插在列表的末尾
# 列印如下內容:
['abc', '我是插入的', 145, True, ['小明', '小紅', 278, 33.9], 25.9]

註意:如果用戶輸入的索引超過列表的範圍則添加到列表的末尾.

del 刪除列表,列表中的元素:

list_1 = ["abc",145,True,["小明","小紅",278,33.9],25.9]
del list_1     # 刪除列表中所有元素,包括列表名

list_1 = ["abc",145,True,["小明","小紅",278,33.9],25.9]
del list_1[0]  # 根據列表索引進行刪除,刪除列表中的第一個元素
print(list_1)
# 列印內容如下:
[145, True, ['小明', '小紅', 278, 33.9], 25.9]

註意:del是沒有返回值的

pop(index):刪除列表元素,如果沒找到索引報錯.

list_1 = ["abc",145,True,["小明","小紅",278,33.9],25.9]
list_1.pop()  # 預設不寫參數是刪除末尾元素
print(list_1)
# 列印內容如下:
['abc', 145, True, ['小明', '小紅', 278, 33.9]]

 pop(索引,提示信息):根據索引刪除列表元素,如果沒有列印一條提示信息

list_1 = ["abc",145,True,["小明","小紅",278,33.9],25.9]
list_1.pop(1)  #  根據索引刪除元素,刪除第一個索引元素
print(list_1)
# 列印內容如下:
['abc', True, ['小明', '小紅', 278, 33.9], 25.9]

註意pop()刪除是有返回值的,可以用一個變數來接收被刪除的數據

remove(object):根據元素名刪除元素

list_1 = ["abc",145,True,["小明","小紅",278,33.9],25.9]
list_1.remove(True)   # 根據元素的名稱刪除元素
print(list_1)
# 列印內容如下:
['abc', 145, ['小明', '小紅', 278, 33.9], 25.9]

clear():清空列表

list_1 = ["abc",145,True,["小明","小紅",278,33.9],25.9]
list_1.clear()
print(list_1)
# 列印內容如下:
[]

copy():拷貝整個列表(淺拷貝)

list_1 = ["abc",145,True,["小明","小紅",278,33.9],25.9]
list_2 = list_1.copy()     # 將list_1拷貝一份到list_2
print(list_2)
# 列印內容如下:
['abc', 145, True, ['小明', '小紅', 278, 33.9], 25.9]

reverse():列表倒序,將列表中的內容倒過來(而不是由升序轉為降序.是對列表索引的操作)

list_1 = ["abc",145,True,["小明","小紅",278,33.9],25.9]
list_1.reverse()
print(list_1)
# 列印內容如下:
[25.9, ['小明', '小紅', 278, 33.9], True, 145, 'abc']      # ['小明', '小紅', 278, 33.9]   沒有被改變

註意:reverse()函數只能是操作本層的對於內部嵌套的數據不能進行改變

sort():升序排列,字元串是按照ASCII碼表進行排序

list_1 = [1,4,88,3,2,77]
list_1.sort()    # 升序排列
print(list_1)
# 列印內容如下:
[1, 2, 3, 4, 77, 88]

list_1 = [1,4,88,3,2,77]
list_1.sort(reverse = True)    # 降序排列
print(list_1)
# 列印內容如下:
[88, 77, 4, 3, 2, 1] 

sort()排序只支持同種類型進行對比,不支持其它類型進行對比排序.例如字元串只能和字元串相比,整形只能和整形相比較.

count(str,start,end):統計字元串出現的次數.預設不寫start和end將在整個字元串中查找,如果設置start和end則會在指定的範圍內進行查找.在字元串中可以指定範圍,在列表中不允許指定範圍,只能在整個列表進行查找

buf = "testttt"
num = buf.count("t") # 在整個字元串內進行查找
print(num)
# 列印內容如下:
5

buf = "testttt"
num = buf.count("t",0,4) # 在字元串的前三位進行查找
print(num)
# 列印內容如下:
2

list_1 = [1,145,8,"小明","小紅",278,33.9,1,25.9] num = list_1.count(1) # 列表中不能指定範圍查找 print(num) #列印如下內容 2

index(object,start,end):預設只寫object會在整個列表中進行查找,但是只顯示找到第一個元素的索引.可以指定start和end來指定查找範圍.

list_1 = [1,145,8,"小明","小紅",278,33.9,1,25.9]
num = list_1.index(8) # 在整個列表中進行查找
print(num)
# 列印如下內容:
2

list_1 = [1,145,8,"小明","小紅",278,33.9,1,25.9] num = list_1.index(8,0,2) # 在前兩個元素進行查找,找不到會報錯 print(num) # 列印內容如下: ValueError: 8 is not in list

range(start,end,step):與列表的切片類似可以指定步長,下麵是常用方法:

for i in range(5):
print(i)

for i in range(100,0,-1): # 倒序列印100-1
print(i)

for i in range(1,100,2): # 列印1-100所有奇數
print(i)

for i in range(2,101,2): # 列印1-100所有偶數
print(i)

 


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

-Advertisement-
Play Games
更多相關文章
  • 你們有沒有遇到過這樣的情況,ES6看過了,Promise的文字概念都懂,但是我要怎麼在項目中去寫一個Promise呢? 那天我就是帶著這樣的疑問去網上搜了下。最後成功地在項目中應用了Promise,只有實際成功使用一次,才能明白它的前因後果,明白它的用途。 1.這是一個vue的電商項目-商品詳情頁 ...
  • 這個案例網上是沒有的,屬於無忌獨創,當時在幫孩子輔導作業,小學科學,裡面有一點內容是關於人的牙齒,說牙齒分為:門齒、犬齒、臼齒,問閨女,為什麼這麼分呢?閨女說牙齒雖然都是用來咬食物,但是食物種類很多,咬碎需要的工具也不一樣,門齒用來切割食物,如:蘋果、梨;犬齒用來撕碎食物,如肉類;臼齒用來磨碎食物,... ...
  • 公眾號:SAP Technical 本文作者:matinal 原文出處:http://www.cnblogs.com/SAPmatinal/ 原文鏈接:【MM系列】SAP MM 非限制/可用庫存 前言部分 今天簡單討論一下MM的非限制使用庫存和可用庫存,如果文章有不正確的地方,請及時留言指出,我會第 ...
  • 今天我們來談談 Dubbo XML 配置相關內容。關於這部分內容我打算分為以下幾個部分進行介紹: Dubbo XML Spring 自定義 XML 標簽解析 Dubbo 自定義 XML 標簽解析 DubboBeanDefinitionParser.parse() End Dubbo XML 在本小節 ...
  • 這篇翻譯的不好 如果你看API文檔中的數組篇,你會發現類型一般寫成List.的寫法表示通用類型的數組(未明確指定數組中的數據類型)。通常情況泛型類型用E,T,S,K,V表示。 Why use generics? 為什麼用泛型 泛型是類型安全的(意思是你必須指定數據的類型),但是它的寫法比硬編碼指定類 ...
  • 開場白說點東西: { 抓住客戶的痛點、癢點、爽點,提出我們產品的核心價值。 產品定位 技術架構 以微服務為核心的前後端分離,業務積木裝配式技術架構。感測器採集,物聯網+互聯網轉換,大數據分散式、存儲、計算、可視化加持。消息引擎、搜索引擎、工作流引擎全方位技術支持。 研發模式 Scrum敏捷研發,讓每 ...
  • 本文代碼基於 python3.6 和 pygame1.9.4。 俄羅斯方塊是兒時最經典的游戲之一,剛開始接觸 pygame 的時候就想寫一個俄羅斯方塊。但是想到旋轉,停靠,消除等操作,感覺好像很難啊,等真正寫完了發現,一共也就 300 行代碼,並沒有什麼難的。 先來看一個游戲截圖,有點醜,好吧,我沒 ...
  • vi編輯器是所有Unix及Linux系統下標準的編輯器,它的強大不遜色於任何最新的文本編輯器,這裡只是簡單地介紹一下它的用法和一小部分指令。由於對Unix及Linux系統的任何版本,vi編輯器是完全相同的,因此您可以在其他任何介紹vi的地方進一步瞭解它。Vi也是Linux中最基本的文本編輯器,學會它 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...