免費視頻教程!零基礎學Python系列(9) - 數據類型之list

本節我們接着講list類型:

這個系列教程建議對照着視頻學習,以下僅爲課件內容。

本節課程的視頻和實例源碼下載方式:點擊->我的主頁,查看個人簡介。

我儘量堅持每日更新一節。


列表是python中非常常用的一個數據結構,它的語法如下:

[item1, item2, item3, …]

由中括號將所有列表元素括起來,不同的元素之間通過逗號分隔。

 

列表中的元素item,支持幾乎所有類型的數據,並且同一個列表中的所有元素可以是不同的數據類型。所以列表使用起來會非常靈活。用過C語言數組結構的同學應該知道,數組結構只能存儲同一類型的元素,比如整型數組、字符串數組等等。另外,C語言的數組結構一旦初始化之後,是不能動態擴容的。C語言也可以實現列表功能,但它不是C語言的標準數據類型。相比較起來,Python的數據類型要強大和靈活得多。

 

列表本質上是一種序列,前面我們學習的string字符串本質上也是一種序列,還有下一節的tuple元組也是序列。我們來看看序列都有一些什麼樣的共性呢?

  1. 序列具備索引,正向索引和反向索引,前面字符串截取時我們學習過。
  2. 序列都支持切片(分割、截取)。
  3. 序列具備一些通用的操作(加、乘、檢查成員)

 

通過下來的例子我們演示列表的常用操作:


#  author: Tiger,    wx ID:tiger-python
# file: ./5/5_5.py

"""
演示列表的操作
"""

# list 列表
list_1 = ['hello', 100, ['跟我一起學', 4]]  # 支持不同類型的item,可以嵌套list
list_2 = ['python', '!']

print(list_1[0:2])  # 截取的方式和字符串一致
print(list_1[0:-2])
print(list_1[0: 1])
print(list_1[0])

print(len(list_1))  # 獲取列表的長度

# 列表連接
list_3 = list_1 + list_2
print(list_3)

# 使用乘法讓列表重複n次
list_4 = list_2 * 3
print(list_4)

# 判斷一個元素是否存在於列表中
print('python' in list_2)  # True

# 判斷一個元素在列表中出現的次數
print(list_4.count('python'))

# 獲取列表中最大最小值,求和
list_5 = [1, 2, 4, 10, 90]
print(max(list_5))
print(min(list_5))
print(sum(list_5))

# 列表的增刪改操作
list_5.append(100)  # 在列表尾增加元素100
print(list_5)

list_5.insert(1, 'insert_obj')  # 把元素插入到索引爲1的位置
print(list_5)

list_6 = ['hello', 'python']
list_5.extend(list_6)  # 在列表後面追加另外一個列表

list_5[0] = 200  # 將索引爲0的元素修改爲200
print(list_5)

del list_5[0]  # 刪除索引爲0的元素
print(list_5)

list_5.pop(2)  # 移除索引爲2的元素,如果不填寫索引值,則默認移除列表最後一個元素
print(list_5)

list_5.remove('insert_obj')  # 移除一個元素,注意這裏指定的是元素的值。如果列表中有多個相同的值,則只移除第一個匹配項
print(list_5)

list_5.clear()  # 清空整個列表
print(list_5)

# 列表的排序操作
list_7 = [100, 99, 27, 198, 3]

list_7.reverse()  # 列表反向排列
print(list_7)

list_7.sort()  # 列表升序排列
print(list_7)

list_7.sort(reverse=True)  # 列表降序排列
print(list_7)

由於同一個列表可以支持不同的元素,所以某些列表操作會有一些限制,大家在使用時需要注意。比如一些數值操作,如sum(list),它就無法支持list中包含字符串的情況,因爲字符串沒法求和。一個比較特殊的操作,最大值max和最小值min,它們支持字符串的比較,那麼它們是按照什麼規則來比較大小的呢?我們通過一小段代碼測試一下。


#  author: Tiger,    wx ID:tiger-python
# file: ./5/5_6.py

# max\min 如何比較字符串列表
list_1 = ['a', 'b', 'cat', '跟我一起學python']

print(ord('a'), ord('b'), ord('c'), ord('跟'))

print(max(list_1))
print(min(list_1))

可以看出,對於字符串列表,是按照元素的首字符對應的ASCII編碼值來比較大小的(參考字符編碼章節)。如果同一個列表中混雜了數字和字符串,則無法比較,會拋出異常。

 

列表是python中用得最多的標準數據類型,後面我們在講循環語句時還會介紹如果對列表進行迭代操作。大家應該對列表操作勤加練習,熟能生巧。

好了,下節我們繼續學習python的其它數據類型。


本節課程的視頻和實例源碼下載方式:點擊->我的主頁,查看個人簡介。

我儘量堅持每日更新一節。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章