国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

python基礎(chǔ)教程:list(列表)

hearaway / 1245人閱讀

摘要:計(jì)算列表所有元素的和,其元素類型必須是數(shù)值型的整數(shù)浮點(diǎn)數(shù)返回一個(gè)排序的列表,但并不改變?cè)斜怼V挥辛斜硭性貫椴欧祷亍A斜淼膬?nèi)置方法前面我們說(shuō)的是語(yǔ)言的內(nèi)置函數(shù),這里我們講的是列表本身的內(nèi)置方法。

Python的基本數(shù)據(jù)類型有整數(shù),浮點(diǎn)數(shù),布爾,字符串,它們是最基本的數(shù)據(jù)。在實(shí)際編程中,我們要經(jīng)常組織由很多基本數(shù)據(jù)組成的集合,這些集合的不同組織方式就是:數(shù)據(jù)結(jié)構(gòu),今天講的是數(shù)據(jù)結(jié)構(gòu)中的Python list(列表)。數(shù)據(jù)結(jié)構(gòu)就是一些數(shù)據(jù)組合得到的“復(fù)合”數(shù)據(jù)類型。

Python內(nèi)置的數(shù)據(jù)結(jié)構(gòu)有:

列表(list)

元組(tuple)

字典(dict)

集合(set)

在Python語(yǔ)言中,以上4種數(shù)據(jù)結(jié)構(gòu)和基礎(chǔ)數(shù)據(jù)類型(整數(shù)、浮點(diǎn)數(shù)等)統(tǒng)稱為“內(nèi)置類型”(Built-in Types)。

Python list(列表)

Python list(列表),是Python中最常用的一種數(shù)據(jù)結(jié)構(gòu),它是一組用方括號(hào)括起來(lái)、逗號(hào)分隔的數(shù)據(jù)。列表的元素可以是任何類型的,但使用時(shí)通常各個(gè)元素的類型是相同的。下面的列表有5個(gè)元素,元素類型分別是字符串、整數(shù)、浮點(diǎn)數(shù)和列表:

In [15]: list_a = ["a", "b", 3, 8.9, [1,2]]

In [16]: list_a
Out[16]: ["a", "b", 3, 8.9, [1, 2]]
list(列表)的索引(index)

列表就像一個(gè)叫號(hào)排隊(duì)的隊(duì)伍,從頭到尾每個(gè)元素都有一個(gè)遞增的號(hào)碼,這個(gè)號(hào)碼就是對(duì)應(yīng)元素的“索引”(index)。與我們生活中不同的是,列表的第一元素的索引是0

In [22]: list_a[0]
Out[22]: "a"

In [23]: list_a[1]
Out[23]: "b"

In [24]: list_a[3]
Out[24]: 8.9

列表這個(gè)隊(duì)伍也可以從隊(duì)尾往前叫號(hào),也就是倒序叫號(hào),這時(shí)候索引都是負(fù)的(負(fù)索引),隊(duì)尾元素的索引s是-1,倒數(shù)第二個(gè)是-2,依次向前遞減。

In [25]: list_a[-1]
Out[25]: [1, 2]

In [26]: list_a[-2]
Out[26]: 8.9

Python列表的索引可以是正索引(從頭到尾),也可以是負(fù)索引(從尾到頭),總結(jié)為下面的關(guān)系:

列表:  ["a", "b", "c", "d", "e"]
         |    |    |    |    |
正索引:  0    1    2    3    4
負(fù)索引:  -5  -4   -3   -2   -1

通過(guò)索引我們可以訪問(wèn)到某個(gè)元素,那么我們就可以修改這個(gè)元素。沒(méi)錯(cuò),列表里面的元素是可以被修改的,相當(dāng)于你先替別人排了個(gè)隊(duì),他來(lái)了就把你替換了。

In [31]: list_b = ["a", "b", "c"]

In [32]: list_b[1] = 2

In [33]: list_b
Out[33]: ["a", 2, "c"]
list(列表)的切片(slicing)

通過(guò)索引,我們可以訪問(wèn)list(列表)的單個(gè)元素。但有時(shí)候我們要取列表的一個(gè)片段,這就是“切片”操作。切片返回的是一個(gè)列表,可以理解為“子列表”。
切片是通過(guò)索引來(lái)實(shí)現(xiàn)的,比如:?list_a[1:3],這里索引變成兩個(gè)用冒號(hào):分隔,分別是切片的開(kāi)始索引和結(jié)束索引,[1:3]代表的是一個(gè)左開(kāi)右閉區(qū)間,即包含左邊索引的元素,到右邊索引為止但不包括該元素。那么list_a[1:3]得到的是["b", 3]:

In [27]: list_a[1:3]
Out[27]: ["b", 3]

In [28]: list_a[:3]
Out[28]: ["a", "b", 3]

In [29]: list_a[1:]
Out[29]: ["b", 3, 8.9, [1, 2]]

In [30]: list_a[:]
Out[30]: ["a", "b", 3, 8.9, [1, 2]]

上面例子中,切片范圍的起止索引可以是缺失的,左邊缺失就是從頭(0)開(kāi)始,右邊缺失就是后面的全部。

list運(yùn)算符

列表作為Python的一種“內(nèi)置類型”,它也像基本類型數(shù)字、字符串那樣可以進(jìn)行一些運(yùn)算符的運(yùn)算,如下表所示:

運(yùn)算符 含義 表達(dá)式 結(jié)果
+ 列表合并在一起 ["a", "b", "c"] + [1, 2, 3] ["a", "b", "c", 1, 2, 3]
* 列表重復(fù) ["a"] * 3 ["a", "a", "a"]
in 是否為列表元素 "a" in ["a", "b"] True

從頭到尾遍歷(迭代)一個(gè)list的語(yǔ)法是:for x in list

for x in [1, 2, 3]:
    print(x)
刪除list(列表)

(1)刪除整個(gè)列表

In [35]: list_a = ["a", "b", 3, 8.9, [1,2]]

In [36]: del list_a

In [37]: list_a
---------------------------------------------------------------------------
NameError    Traceback (most recent call last)
 in 
----> 1 list_a

NameError: name "list_a" is not defined

del是Python的一個(gè)保留關(guān)鍵字,用于刪除(delete)對(duì)象。Python里面的所有東西都是對(duì)象,所有del可以用于刪除變量、列表等等。

(2)刪除列表的一個(gè)或多個(gè)元素

In [41]: list_a = ["a", "b", 3, 8.9, [1,2]]

In [42]: del list_a[0] # 刪除一個(gè)元素

In [43]: list_a
Out[43]: ["b", 3, 8.9, [1, 2]]

In [44]: del list_a[1:3] # 刪除切片

In [45]: list_a
Out[45]: ["b", [1, 2]]

list(列表)推導(dǎo)式

處理一個(gè)序列中的所有或部分元素并返回結(jié)果列表的一種緊湊寫(xiě)法。見(jiàn)下面的例子:

In [50]: even = [2 * i for i in range(10)]

In [51]: even
Out[51]: [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]

In [52]: even2 = [i for i in range(20) if i % 2 == 0]

In [53]: even2
Out[53]: [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]

生成even的過(guò)程是把0~10之間的數(shù)字都乘以2變成偶數(shù);
生成even2的過(guò)程是從0~20之間挑選出偶數(shù)。

這兩個(gè)都是列表推導(dǎo)式,并且后面的是加了if條件只處理原列表的部分元素。

list(列表)相關(guān)的內(nèi)置函數(shù)

Python內(nèi)置函數(shù)中有一些可以對(duì)list進(jìn)行操作,它們是:

(1)len()
計(jì)算列表的長(zhǎng)度,即計(jì)算列表元素的個(gè)數(shù))

In [55]: len([1,2,3])
Out[55]: 3

(2)max()
返回列表元素中的最大值,列表元素必須是同一類型且可比較,比如都是數(shù)字型的,或都是字符串,如果類型不統(tǒng)一就會(huì)報(bào)錯(cuò):

In [57]: max(["a", "b", "c"])
Out[57]: "c"

In [58]: max([1,2,"a"])
---------------------------------------------------------------------------
TypeError   Traceback (most recent call last)
 in 
----> 1 max([1,2,"a"])

TypeError: ">" not supported between instances of "str" and "int"

(3)min()
返回列表元素中的最小值。元素類型要求跟max()一樣。

In [59]: min([1,2,3])
Out[59]: 1

In [60]: min(["a", "b", "c"])
Out[60]: "a"

In [61]: min([1,2,"a"])
---------------------------------------------------------------------------
TypeError    Traceback (most recent call last)
 in 
----> 1 min([1,2,"a"])

TypeError: "<" not supported between instances of "str" and "int"

(4)sum()
計(jì)算列表所有元素的和,其元素類型必須是數(shù)值型的(整數(shù)、浮點(diǎn)數(shù))

In [63]: sum([1,2,3])
Out[63]: 6

In [64]: sum([1.2, 3.2, 4.3])
Out[64]: 8.7

In [65]: sum(["a", "b", "c"])
---------------------------------------------------------------------------
TypeError   Traceback (most recent call last)
 in 
----> 1 sum(["a", "b", "c"])

TypeError: unsupported operand type(s) for +: "int" and "str"

(5)sorted()
返回一個(gè)排序的列表,但并不改變?cè)斜怼?/p>

In [66]: sorted([3, 9, 0, 5])
Out[66]: [0, 3, 5, 9]

In [68]: sorted(["python", "yuanrenxue", "good"])
Out[68]: ["good", "python", "yuanrenxue"]

(6)list()
生成一個(gè)空列表,或把其它類型數(shù)據(jù)轉(zhuǎn)換成list。

In [69]: list()
Out[69]: []

In [70]: list("python")
Out[70]: ["p", "y", "t", "h", "o", "n"]

(7)any()
只要列表中有一個(gè)元素是True就返回True。

In [72]: any([0, "", "3"])
Out[72]: True

(8)all()
只有列表所有元素為T(mén)rue才返回True。

In [73]: all([0, "", "3"])
Out[73]: False

In [74]: all([3, "a", True])
Out[74]: True
list(列表)的內(nèi)置方法

前面我們說(shuō)的是Python語(yǔ)言的“內(nèi)置函數(shù)”,這里我們講的是列表本身的“內(nèi)置方法”。函數(shù)和方法有什么區(qū)別呢?

函數(shù): 是一系列語(yǔ)句的集合,調(diào)用后可以返回一個(gè)或一些值。可以給它傳遞0個(gè)或多個(gè)參數(shù),這些參數(shù)可能被用于函數(shù)內(nèi)部的執(zhí)行過(guò)程。

方法: 就是定義在類內(nèi)部的函數(shù)。很明顯,方法是與某個(gè)對(duì)象關(guān)聯(lián)的。方法的調(diào)用方法就是在對(duì)象后面加.再加方法名稱。

Python中的一切都是對(duì)象,列表也不例外,那自然列表也有其自有的方法,總結(jié)為下表:

方法 功能 示例 結(jié)果
append() 把一個(gè)元素加到列表的尾部 a=[1,2];a.append("a") a變?yōu)?[1,2,"a"]
insert() 把一個(gè)元素加到列表的特定位置 a=[1,2]; a.insert(1, "c") a變?yōu)椋?b>[1, "c", 2]
remove() 刪除第一個(gè)出現(xiàn)的某元素 a=[1,2]; a.remove(2) a變?yōu)椋?b>[1]
pop() 刪除并返回某個(gè)位置(索引)的元素 a=[1,2];a.pop(1) a變?yōu)椋?b>[1]
clear() 清空列表 a=[1,2];a.clear() a變?yōu)椋?b>[]
index() 返回遇到的第一個(gè)某值的索引,
如果列表不包含該值則拋出錯(cuò)誤 a=[1,1,1];a.index(1) 返回0
count() 返回列表中某值的個(gè)數(shù) a=[1,1,2];a.count(1) 返回2
sort() 對(duì)列表進(jìn)行排序 a=[3,2,1];a.sort() a變?yōu)椋?b>[1,2,3]
reverse() 將列表倒置 a=[2,1,3];a.reverse() a變?yōu)椋?b>[3,1,2]
Python list(列表)總結(jié)

列表是Python中最常用的數(shù)據(jù)結(jié)構(gòu)之一,主要用于數(shù)據(jù)的順序存儲(chǔ)。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/43777.html

相關(guān)文章

  • Python基礎(chǔ)教程第二版》第二章-Python列表和元祖

    摘要:第二個(gè)索引元素不在分片內(nèi)。顯示操作索引指向第個(gè)元素,第個(gè)元素不存在。序列加法乘法表示個(gè)空列表空列表用初始化成員資格運(yùn)算符布爾運(yùn)算符,檢查值是否在序列中。修改列表,沒(méi)有返回值。在原位置對(duì)列表排序。 序列 例: Edward = [abc, 12] 序列中的所有元素都是有編號(hào)的,從0開(kāi)始遞增。 Note: 使用負(fù)數(shù)索引-1,Python會(huì)從右邊,也就是從最后一個(gè)元素開(kāi)始計(jì)數(shù)。最后一個(gè)元素...

    darryrzhong 評(píng)論0 收藏0
  • python基礎(chǔ)教程:元組

    摘要:計(jì)算元組所有元素的和,其元素類型必須是數(shù)值型的整數(shù),浮點(diǎn)數(shù)返回一個(gè)排序的列表,但并不改變?cè)M。只有元組所有元素為才返回。 元組(元組)跟列表(名單)非常相似,二者之間的差異就是元組不可改變,列表是可以改變的。 showImg(https://segmentfault.com/img/remote/1460000019153442); 創(chuàng)建元組(元組) 跟列表的中括號(hào)不同,元組用圓括號(hào)...

    walterrwu 評(píng)論0 收藏0
  • python基礎(chǔ)教程:dict(字典)

    摘要:字典的創(chuàng)建字典可以通過(guò)或一對(duì)花括號(hào)創(chuàng)建一個(gè)空字典。方法是字典對(duì)象名稱加方括號(hào)括起來(lái)的鍵名,比如。空字典的長(zhǎng)度是和類似于對(duì)列表的操作,不過(guò)這兩個(gè)函數(shù)檢驗(yàn)的是字典的鍵。修改了字典并沒(méi)有重新獲取,但是已經(jīng)反應(yīng)了變化,多了返回值的對(duì)象,。 字典(dict, dictionary的簡(jiǎn)寫(xiě))是Python中另一個(gè)非常重要的內(nèi)置數(shù)據(jù)類型,是Python中映射類型(Mapping Type),它把鍵(k...

    pumpkin9 評(píng)論0 收藏0
  • Python基礎(chǔ)到入門(mén)】Python基礎(chǔ)語(yǔ)法篇——基本數(shù)據(jù)類型【文末送書(shū)】

    摘要:布爾值布爾值和布爾代數(shù)的表示完全一致,一個(gè)布爾值只有兩種值的數(shù)據(jù)類型可以通過(guò)內(nèi)置的函數(shù)查詢,例如還可以用來(lái)判斷和的區(qū)別在于不會(huì)認(rèn)為子類是一種父類類型。會(huì)認(rèn)為子類是一種父類類型。基本功能是進(jìn)行成員關(guān)系測(cè)試和刪除重復(fù)元素。 ...

    Winer 評(píng)論0 收藏0
  • python基礎(chǔ)學(xué)習(xí)教程Python開(kāi)發(fā),植物大戰(zhàn)僵尸游戲!

    摘要:引入需要的模塊,配置圖片路徑,設(shè)置界面寬高背景顏色,創(chuàng)建游戲主入口。 1.引入需要的模塊,配置圖片路徑,設(shè)置界面寬高背景顏色,創(chuàng)建游戲主入口。 showImg(https://segmentfault.com/img/bVbuYZU?w=662&h=357); #1引入需要的模塊 import pygame import random #1配置圖片地址 IMAGE_PATH = img...

    Vultr 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<