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

資訊專欄INFORMATION COLUMN

python基礎教程:list(列表)

hearaway / 1252人閱讀

摘要:計算列表所有元素的和,其元素類型必須是數值型的整數浮點數返回一個排序的列表,但并不改變原列表。只有列表所有元素為才返回。列表的內置方法前面我們說的是語言的內置函數,這里我們講的是列表本身的內置方法。

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

Python內置的數據結構有:

列表(list)

元組(tuple)

字典(dict)

集合(set)

在Python語言中,以上4種數據結構和基礎數據類型(整數、浮點數等)統稱為“內置類型”(Built-in Types)。

Python list(列表)

Python list(列表),是Python中最常用的一種數據結構,它是一組用方括號括起來、逗號分隔的數據。列表的元素可以是任何類型的,但使用時通常各個元素的類型是相同的。下面的列表有5個元素,元素類型分別是字符串、整數、浮點數和列表:

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)

列表就像一個叫號排隊的隊伍,從頭到尾每個元素都有一個遞增的號碼,這個號碼就是對應元素的“索引”(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

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

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

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

Python列表的索引可以是正索引(從頭到尾),也可以是負索引(從尾到頭),總結為下面的關系:

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

通過索引我們可以訪問到某個元素,那么我們就可以修改這個元素。沒錯,列表里面的元素是可以被修改的,相當于你先替別人排了個隊,他來了就把你替換了。

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

In [32]: list_b[1] = 2

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

通過索引,我們可以訪問list(列表)的單個元素。但有時候我們要取列表的一個片段,這就是“切片”操作。切片返回的是一個列表,可以理解為“子列表”。
切片是通過索引來實現的,比如:?list_a[1:3],這里索引變成兩個用冒號:分隔,分別是切片的開始索引和結束索引,[1:3]代表的是一個左開右閉區間,即包含左邊索引的元素,到右邊索引為止但不包括該元素。那么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)開始,右邊缺失就是后面的全部。

list運算符

列表作為Python的一種“內置類型”,它也像基本類型數字、字符串那樣可以進行一些運算符的運算,如下表所示:

運算符 含義 表達式 結果
+ 列表合并在一起 ["a", "b", "c"] + [1, 2, 3] ["a", "b", "c", 1, 2, 3]
* 列表重復 ["a"] * 3 ["a", "a", "a"]
in 是否為列表元素 "a" in ["a", "b"] True

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

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

(1)刪除整個列表

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的一個保留關鍵字,用于刪除(delete)對象。Python里面的所有東西都是對象,所有del可以用于刪除變量、列表等等。

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

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

In [42]: del list_a[0] # 刪除一個元素

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(列表)推導式

處理一個序列中的所有或部分元素并返回結果列表的一種緊湊寫法。見下面的例子:

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的過程是把0~10之間的數字都乘以2變成偶數;
生成even2的過程是從0~20之間挑選出偶數。

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

list(列表)相關的內置函數

Python內置函數中有一些可以對list進行操作,它們是:

(1)len()
計算列表的長度,即計算列表元素的個數)

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

(2)max()
返回列表元素中的最大值,列表元素必須是同一類型且可比較,比如都是數字型的,或都是字符串,如果類型不統一就會報錯:

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()
計算列表所有元素的和,其元素類型必須是數值型的(整數、浮點數)

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()
返回一個排序的列表,但并不改變原列表。

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()
生成一個空列表,或把其它類型數據轉換成list。

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

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

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

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

(8)all()
只有列表所有元素為True才返回True。

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

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

前面我們說的是Python語言的“內置函數”,這里我們講的是列表本身的“內置方法”。函數和方法有什么區別呢?

函數: 是一系列語句的集合,調用后可以返回一個或一些值。可以給它傳遞0個或多個參數,這些參數可能被用于函數內部的執行過程。

方法: 就是定義在類內部的函數。很明顯,方法是與某個對象關聯的。方法的調用方法就是在對象后面加.再加方法名稱。

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

方法 功能 示例 結果
append() 把一個元素加到列表的尾部 a=[1,2];a.append("a") a變為?[1,2,"a"]
insert() 把一個元素加到列表的特定位置 a=[1,2]; a.insert(1, "c") a變為:[1, "c", 2]
remove() 刪除第一個出現的某元素 a=[1,2]; a.remove(2) a變為:[1]
pop() 刪除并返回某個位置(索引)的元素 a=[1,2];a.pop(1) a變為:[1]
clear() 清空列表 a=[1,2];a.clear() a變為:[]
index() 返回遇到的第一個某值的索引,
如果列表不包含該值則拋出錯誤 a=[1,1,1];a.index(1) 返回0
count() 返回列表中某值的個數 a=[1,1,2];a.count(1) 返回2
sort() 對列表進行排序 a=[3,2,1];a.sort() a變為:[1,2,3]
reverse() 將列表倒置 a=[2,1,3];a.reverse() a變為:[3,1,2]
Python list(列表)總結

列表是Python中最常用的數據結構之一,主要用于數據的順序存儲。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/43777.html

相關文章

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

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

    darryrzhong 評論0 收藏0
  • python基礎教程:元組

    摘要:計算元組所有元素的和,其元素類型必須是數值型的整數,浮點數返回一個排序的列表,但并不改變原元組。只有元組所有元素為才返回。 元組(元組)跟列表(名單)非常相似,二者之間的差異就是元組不可改變,列表是可以改變的。 showImg(https://segmentfault.com/img/remote/1460000019153442); 創建元組(元組) 跟列表的中括號不同,元組用圓括號...

    walterrwu 評論0 收藏0
  • python基礎教程:dict(字典)

    摘要:字典的創建字典可以通過或一對花括號創建一個空字典。方法是字典對象名稱加方括號括起來的鍵名,比如。空字典的長度是和類似于對列表的操作,不過這兩個函數檢驗的是字典的鍵。修改了字典并沒有重新獲取,但是已經反應了變化,多了返回值的對象,。 字典(dict, dictionary的簡寫)是Python中另一個非常重要的內置數據類型,是Python中映射類型(Mapping Type),它把鍵(k...

    pumpkin9 評論0 收藏0
  • Python基礎到入門】Python基礎語法篇——基本數據類型【文末送書】

    摘要:布爾值布爾值和布爾代數的表示完全一致,一個布爾值只有兩種值的數據類型可以通過內置的函數查詢,例如還可以用來判斷和的區別在于不會認為子類是一種父類類型。會認為子類是一種父類類型。基本功能是進行成員關系測試和刪除重復元素。 ...

    Winer 評論0 收藏0
  • python基礎學習教程Python開發,植物大戰僵尸游戲!

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

    Vultr 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<