1. 程式人生 > >第4課 列表和元組

第4課 列表和元組

需要 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課 列表和元組