精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Python序列的列表類型介紹

麥辣雞腿堡 ? 來源:CSDN博客 ? 作者:時間靜止不是簡史 ? 2023-03-08 17:27 ? 次閱讀

列表:用于存儲任意數目、任意類型的數據集合。

列表是內置可變序列,是包含多個元素的有序連續的內存空間。

特點: 有序, 可變, 中括號[]

列表的標準語法格式:a = [10,20,30,40] . 其中,10,20,30,40這些稱為:列表a的元素。

注意:

字符串和列表都是序列類型,一個字符串是一個字符序列,一個列表是任何元素的序列。

前面學習的很多字符串的方法,在列表中也有類似的用法,幾乎一模一樣。

操作

列表的創建

使用list()可以將任何可迭代的數據轉化成列表

range()創建整數列表

推導式生成列表

列表:用于存儲任意數目、任意類型的數據集合

list()創建

import random

a = [10086, 10010, 10000, "中國移動", "中國聯通", "中國電信"]

b = [] # 創建一個空列表對象

print(a)

print(b)

list()創建

使用list()可以將任何可迭代的數據轉化成列表

a = list()

b = list(range(9))

c = list("中國移動,10086")

print(a)

print(b) # [0, 1, 2, 3, 4, 5, 6, 7, 8]

print(c) # ['中', '國', '移', '動', ',', '1', '0', '0', '8', '6']

range()創建整數列表

range()可以幫助我們非常方便的創建整數列表,這在開發中極其有用. 語法格式為:range([start,] end [,step])

start參數:可選,表示起始數字。默認是0

end參數:必選,表示結尾數字

step參數:可選,表示步長,默認為1

a = list(range(3, 15, 2)) # 結果:[3, 5, 7, 9,11, 13]

b = list(range(15, 9, -1)) # 結果:[15, 14, 13,12, 11, 10]

c = list(range(3, -4, -1)) # 結果:[3, 2, 1, 0,-1, -2, -3]

print(a, b, c)

推導式生成列表

使用列表推導式可以非常方便的創建列表,在開發中經常使用

a = [x * 2 for x in range(5)]

#通過if過濾元素[0, 18, 36, 54, 72, 90, 108, 126, 144, 162, 180, 198]

b = [x * 2 for x in range(100) if x % 9 == 0]

print(a, b)

列表的新增

append()方法( 速度最快, 推薦使用 )

+運算符操作 ( 生成新對象 )

extend()方法 ( 尾插, 不生成新對象 )

insert()插入元素 ( 插入到指定位置, 慎用 )

使用乘法擴展列表,生成一個新列表,新列表元素是原列表元素的多次重復

列表元素的增加

1. append()方法 原地修改列表對象,是真正的列表尾部添加新的元素,速度最快,推薦使用

a = [20, 40] # 此列表創建可以重寫為列表文字

a.append(80)

print(a) # 結果:[20, 40, 80]

2. +運算符操作 并不是真正的尾部添加元素,而是創建新的列表對象;將原列表的元素和新列表的元素依次復制到新的列表對象中

a = [20, 40]

print("測試第一次時對象的引用: ", id(a))

a = a + [50]

print("測試第二次時對象的引用: ", id(a)) # 兩次地址不一樣,創建了新的對象

3. extend()方法 將目標列表的所有元素添加到本列表的尾部,屬于原地操作,不創建新的列表對象

a = [20, 40]

print(id(a))

b = [50, 60]

a.extend(b) # 原對象修改

print(id(a), a)

a = a + b # 產生新對象

print(id(a), a)

4. insert()插入元素

使用 insert() 方法可以將指定的元素插入到列表對象的任意制定位置.

這樣會讓插入位置后面所有的元素進行移動,會影響處理速度. 涉及大量元素時,盡量避免使用。

a = [10, 20, 30]

a.insert(2, 100) # 在2號下標位置(起點為0)放入100

print(a) # 結果:[10, 20, 100, 30]

5. 乘法擴展 使用乘法擴展列表,生成一個新列表,新列表元素是原列表元素的多次重復

a = ["托尼斯塔克", "愛你三千遍"]

d = a * 30 # 3000是在太多了...

print(a)

print(d)

列表的刪除:

del() 刪除列表指定位置的元素

pop()刪除并返回指定位置元素

刪除首次出現的指定元素,若不存在該元素拋出異常

列表元素的刪除

1. del刪除, 刪除列表指定位置的元素

a = [100, 200, 888, 300, 400]

del a[2]

print(a) # 結果:[100,200,300,400]

2. pop()方法

pop()刪除并返回指定位置元素,如果未指定位置則默認操作列表最后一個元素

a = [10, 20, 30, 40, 50]

b1 = a.pop() # 結果:b1=50

print(a, b1) # 結果:[10, 20, 30, 40] 50

b2 = a.pop(1)

print(a, b2) # 結果:[10, 30, 40],20

3.remove()方法

刪除首次出現的指定元素,若不存在該元素拋出異常

a = [10, 20, 30, 40, 50, 20, 30, 20, 30]

a.remove(20) # [10, 30, 40, 50, 20, 30, 20,30]

print(a)

a.remove(90) # ValueError: list.remove(x): x not in list

復制列表所有的元素到新列表對象:

復制列表所有的元素到新列表對象

只是將list2也指向了列表對象,也就是說list2和list2持有地址值是相同的. 列表對象本身的元素并沒有復制。

list1 = [30, 40, 50]

list2 = list1

print(list2)

訪問 & 計數

訪問:

通過索引直接訪問元素

index()獲得指定元素在列表中首次出現的索引

列表元素訪問和計數

1. 通過索引直接訪問元素

我們可以通過索引直接訪問元素。索引的區間在 [0, 列表長度-1] 這個范圍。超過這個范圍則會拋出異常。

a = [10, 20, 30, 40, 50, 20, 30, 20, 30]

print(a[2]) # 結果:30

print(a[10]) # 報錯:IndexError: list index out of range

2. index()獲得指定元素在列表中首次出現的索引

index() 可以獲取指定元素首次出現的索引位置。語法是: index(value,[start, [end]]) 。其中, start 和 end 指定了搜索的范圍。

print(a.index(20)) # 1

print(a.index(20, 3)) # 5

print(a.index(30, 5, 7)) # 6

print(a[a.index(20)])

print(a[a.index(20, 3)])

print(a[a.index(30, 5, 7)])

計數:

count()獲得指定元素在列表中出現的次數

len()返回列表長度,即列表中包含元素的個數

3. count()獲得指定元素在列表中出現的次數

print("20在列表中出現的次數:", a.count(20))

4. len()返回列表長度,即列表中包含元素的個數。

a = [10, 20, 30]

print(len(a))

列表的遍歷:

列表的遍歷

print("測試列表的遍歷")

a = [10, 20, 30, 40]

for o in a:

print(o)

常見用法

列表常見方法如下圖所示, 下面我們對部分用法進行操作

切片操作:

切片操作

類似字符串的切片操作,對于列表的切片操作和字符串類似.

標準格式為:[起始偏移量start:終止偏移量end[:步長step]]

切片操作時,起始偏移量和終止偏移量不在 [0,字符串長度-1] 這個范圍,也不會報錯。

起始偏移量 小于0 則會當做 0 ,終止偏移量 大于 “長度-1” 會被當成 ”長度-1”

print([10, 20, 30, 40][1:30])

成員資格判斷:

成員資格判斷

判斷列表中是否存在指定的元素,我們可以使用 count() 方法,返回0則表示不存在,返回大于0則表示存在

但是,一般我們會使用更加簡潔的 in 關鍵字來判斷,直接返回 True 或 False

a = [10, 20, 30, 40, 50, 20, 30, 20, 30]

print(20 in a)

print(20 not in a)

print(60 not in a)

列表排序:

sort(): 修改原列表,不建新列表的排序

sort(): 建新列表的排序

reversed(): 返回迭代器

列表排序

1.修改原列表,不建新列表的排序

sort() 默認升序, 參數 reverse 代表降序

a = [2, 3, 1, 5, 4]

print(id(a))

print(a.sort())

print(a)

a.sort(reverse=True)

print(a)

random.shuffle(a) # 打亂順序

print(a)

2. 建新列表的排序

我們也可以通過內置函數sorted()進行排序,這個方法返回新列表,不對原列表做修改。

a = [20, 10, 30, 40]

print(id(a))

b = sorted(a)

c = sorted(a, reverse=True)

print(b, c)

3. reversed()返回迭代器

內置函數reversed()也支持進行逆序排列,與列表對象reverse()方法不同的是,

內置函數reversed()不對原列表做任何修改,只是返回一個逆序排列的迭代器對象

a = [20, 10, 30, 40]

b = reversed(a)

print(type(c))

print(list(c))

關于reversed()

我們打印輸出c發現提示是:list_reverseiterator。也就是一個迭代對象。

同時,我們使用list(c)進行輸出,發現只能使用一次。

第一次輸出了元素,第二次為空。那是因為迭代對象在第一次時已經遍歷結束了,第二次不能再使用。

max, min 和 sum

max, min用于返回列表中最大和最小值

sum 用于統計列表中各元素的和

列表相關的其他內置函數匯總

1. max和min

a = [3, 10, 20, 15, 9]

print(max(a))

print(min(a))

2. sum

print(sum(a))

多維列表

二維列表

一維列表可以幫助我們存儲一維、線性的數據。

二維列表可以幫助我們存儲二維、表格的數據。例如下表的數據:

隊名 第幾季 勝者

才子隊 1 比爾

九頭蛇隊 2 皮爾斯

巨亨隊 3 卡羅爾

二維表的訪問方式:

a = [

["才子隊", 1, "比爾"],

["九頭蛇隊", 2, "皮爾斯"],

["巨亨隊", 3, "卡羅爾"],

]

輸出單個元素

print(a[0][0], a[1][1], a[1][2])

嵌套循環打印二維列表所有的數據

for m in range(3):

for n in range(3):

print(a[m][n], end=" ")

print()

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 編程
    +關注

    關注

    88

    文章

    3595

    瀏覽量

    93602
  • 序列
    +關注

    關注

    0

    文章

    70

    瀏覽量

    19547
  • python
    +關注

    關注

    56

    文章

    4782

    瀏覽量

    84463
收藏 人收藏

    評論

    相關推薦

    Python中常用的數據類型

    )和False(假)。4. 列表列表Python中使用最頻繁的數據類型,集合中可以放任何數據類型,可對集合進行創建、查找、切片、增加、修改、刪除、循環和排序操作。5. 元組元組和
    發表于 04-19 15:14

    如何使用Python列表進行求和?

    [tr]在本簡短的教程中,我們將介紹如何使用Python查找sum()[tr]一份名單。我們研究了各種方法來做到這一點,以及它們的局限性。[tr]本教程是我們在[tr]柔性[tr],就經常使用的或有
    發表于 09-01 23:14

    Python數據類型有幾種

    Python布爾類型也是用于邏輯運算,有兩個值:True(真)和False(假)。  4. 列表  列表Python中使用最頻繁的數據
    發表于 02-18 17:59 ?1516次閱讀

    Python學習要點:自定義序列實現切片功能

    基于原生的序列類型(如字符串、列表、元組),那么,我們是否可以定義自己的序列類型并讓它支持切片語法呢?更進一步,我們是否可以自定義其它對象(
    發表于 11-24 11:51 ?678次閱讀

    Python基礎變量類型—List分析

    本文基于Python基礎,主要介紹Python基礎中list列表,通過list列表的兩個函數 ,對list的語法做了詳細的講解,用豐富的案
    的頭像 發表于 12-24 17:37 ?1074次閱讀

    python列表的詳細介紹

    python列表 列表(英文名 list),是由一系列元素按順序進行排列而成的容器。 這里面有兩個重點: 元素 :沒有要求同一類型,所以可以是任意
    的頭像 發表于 02-22 15:14 ?1364次閱讀

    python列表序列操作教程

    python列表也是序列對象,可以進行序列通用的操作,類似字符串序列的操作。
    的頭像 發表于 02-23 15:04 ?621次閱讀

    介紹python列表的邊界和嵌套

    本文介紹python列表的邊界和嵌套。只能訪問python列表范圍內的項,python
    的頭像 發表于 02-27 14:49 ?919次閱讀

    python列表特定方法有哪些

    python列表類似其他語言的數組,但是python列表的元素(項)可以同時為不同類型的對象,即沒有固定
    的頭像 發表于 02-27 14:51 ?475次閱讀

    Python序列的元組類型介紹

    介紹 列表屬于可變序列,可以任意修改列表中的元素。 元組屬于不可變序列,不能修改元組中的元素。 元組特點: 有序, 不可變, 小括號 ( )
    的頭像 發表于 03-08 17:30 ?1037次閱讀

    Python序列的字典類型介紹

    , 大括號 {} + 鍵值對 k,v 字典是 Python 項目中最常用的序列類型之一, 對應Java 中常用的 Json 數據類型 操作 字典的創建 通過 {} + kv 來創建 通
    的頭像 發表于 03-08 17:35 ?1291次閱讀
    <b class='flag-5'>Python</b><b class='flag-5'>序列</b>的字典<b class='flag-5'>類型</b><b class='flag-5'>介紹</b>

    Python列表的基本概念、常用操作及實際應用

    于各種編程場景,從簡單的數據處理到復雜的數據結構和算法。本文將介紹Python列表的基本概念、常用操作以及一些實際應用。
    的頭像 發表于 04-16 10:42 ?1693次閱讀

    python列表和數組的區別

    內部實現、性能、操作方式等多個方面進行詳細分析,以幫助讀者更好地理解它們之間的區別和適用場景。 一、內部實現: 列表(List): Python中的列表是一種有序的、可變的、可包含不同類型
    的頭像 發表于 11-21 15:13 ?2265次閱讀

    python輸出list的每一個元素

    使用for循環來遍歷列表,并輸出其中的每一個元素。接下來,我將詳盡、詳實、細致地介紹一下Python輸出列表的每一個元素的方法,希望能對你有所幫助。 首先,我們需要明確一下什么是
    的頭像 發表于 11-21 16:16 ?1504次閱讀

    python如何遍歷列表并提取

    遍歷列表Python中非常常見的操作之一,可以使用for循環或者while循環來實現。下面我將詳細介紹如何使用for循環遍歷列表并提取元素。 首先,讓我們簡單了解一下
    的頭像 發表于 11-23 15:55 ?1295次閱讀