第4課 列表和元組
阿新 • • 發佈:2018-11-21
需要 move 得到 item code lin 末尾 clas ever
一、列表
1、列表的定義:用一個中括號--[ ]表示列表。例如,[1]表示列表有一個元素1
>>> alist = [1] >>> alist [1] >>> type(alist) <class ‘list‘>
2、列表可以存儲任意類型
>>> alist = [1, ‘zzyyzz‘, 3.14, [1,2,3,‘yy‘]] >>> alist [1, ‘zzyyzz‘, 3.14, [1, 2, 3, ‘yy‘]]
3、列表是序列類型:1-有下標、2-可以切片。
如果列表中包含的元素是一個列表,要訪問列表中列表的元素,需要 用兩個下標來確認。例如:訪問列表中子列表的元素yy
>>> alist = [1, 2, 3, [‘yy‘, 668, ‘python‘]] >>> alist[3][0] ‘yy‘ >>> ‘python‘ in alist False >>> 1 in alist True >>> ‘python‘ in alist[3] True
4、列表可以改變內容(值/元素的個數),但字符串不可以。
1)列表還可以使用append()函數添加元素,append()函數只能在列表末尾添加元素
>>> str1 = ‘abcxyz‘ >>> str1[0] = 100 Traceback (most recent call last): File "<pyshell#1>", line 1, in <module> str1[0] = 100 TypeError: ‘str‘ object does not support item assignment
>>> alist = [1, 2, 3, ‘x‘, ‘y‘, 168] >>> alist[0] = 100 # 列表可以改變值的大小 >>> alist [100, 2, 3, ‘x‘, ‘y‘, 168]
>>> alist.append(1000) # 改變元素的個數 >>> alist [100, 2, 3, ‘x‘, ‘y‘, 168, 1000]
2)使用remove()函數刪除列表中的元素
>>> alist = [100, 2, 3, ‘x‘, ‘y‘, 168, 1000] >>> alist.remove(1000) >>> alist [100, 2, 3, ‘x‘, ‘y‘, 168]
二、元組:tuple ---用小括號表示,列表用中括號表示。只有一個元素的元組---tup1 = (1,),要在元素後面加逗號
>>> tup1 = (1,) >>> type(tup1) <class ‘tuple‘> >>> type((2,)) <class ‘tuple‘>
1)元組的元素是序列類型,有下標,可以切片。
>>> tup2 = (1, 3.14, [2.15, ‘yy‘, 999]) >>> tup2[2] [2.15, ‘yy‘, 999] >>> tup2[1:2] (3.14,)
2)元組不支持改變值(內容和元素的長度)
>>> tup3 = (666, ‘a‘, 88, (‘bdc‘, ‘yy‘)) >>> tup3[1] = 999 Traceback (most recent call last): File "<pyshell#8>", line 1, in <module> tup3[1] = 999 TypeError: ‘tuple‘ object does not support item assignment
3)可以存儲任意類型
>>> tup4 = (‘y‘, 1, [22, ‘zty‘, 333], (‘b‘, 168)) >>> type(tup4) <class ‘tuple‘>
4)元組切片後,得到的類型還是元組。
>>> tup5 = (3.14, (‘a‘, ‘b‘, 3), [2, 1, 16, 189, ‘d‘]) >>> tup5[1:] ((‘a‘, ‘b‘, 3), [2, 1, 16, 189, ‘d‘])
5)排序不能用元組,但是可以用列表。
6)內置函數max()和min()。max()返回元組或列表中的最大值,min()返回元組或列表中的最小值---註意:一般用於同一數據類型(數值、字符串),不同數據類型則會報錯
>>> tup1 = (1, 2, 3, ‘a‘, 6, 8, 9) >>> max(tup1) Traceback (most recent call last): File "<pyshell#1>", line 1, in <module> max(tup1) TypeError: ‘>‘ not supported between instances of ‘str‘ and ‘int‘
>>> tup1 = (1, 2, 3, 6, 8, 9) >>> max(tup1) 9 >>> min(tup1) 1
獲取列表中的最大值和最小值
>>> list1 = [1, 2, 3, 6, 7, 8, 9] >>> max(list1) 9 >>> min(list1) 1
7)reverse()方法---反轉列表的元素。元組不能排序和反轉
>>> list1 = [1, 2, 3, 6, 7, 8, 9] >>> list1.reverse() >>> list1 [9, 8, 7, 6, 3, 2, 1]
>>> tup1 = (1, 2, 3, 7, 8, 9, 10) >>> tup1.reverse() # 因為元組是不可變的 Traceback (most recent call last): File "<pyshell#14>", line 1, in <module> tup1.reverse() AttributeError: ‘tuple‘ object has no attribute ‘reverse‘
8)sort()方法可以從來排序,默然sort(reverse = False),只排序不反轉;如果sort(reverse = True),則會按從小到大排列,然後再反轉。
>>> alist = [1, 7, 2, 8, 6] >>> alist.sort() >>> alist [1, 2, 6, 7, 8] >>> alist.sort(reverse = False) >>> alist [1, 2, 6, 7, 8] >>> alist.sort(reverse = True) >>> alist [8, 7, 6, 2, 1]
第4課 列表和元組