目錄
一、列表的定義:
列表是Python6個內建序列之一,是將所有元素都放在一對中括號[ ]裏面,相鄰元素之間用逗號“,”分隔。
如下所示:
[element1, element2, element3, ..., elementn]
格式中,element1 ~ elementn 表示列表中的元素,個數沒有限制,從內容上看,列表可以存儲任意Python支持的數據類型(整數、小數、字符串、列表、元組等任何類型),並且同一個列表中元素的類型也可以不同。
比如說:
['Hello World!', 1, [2,3,4] , 3.0]
可以看到,列表中同時包含字符串、整數、列表、浮點數這些數據類型。
注意:在使用列表時,雖然可以將不同類型的數據放入到同一個列表中,但通常情況下不這麼做,同一列表中只放入同一類型的數據,這樣可以提高程序的可讀性。
二、列表的創建:
1、使用[]直接創建列表
使用[]創建列表後,一般使用=將它賦值給某個變量,具體格式如下:
listname = [element1 , element2 , element3 , ... , elementn]
其中,listname 表示變量名,element1 ~ elementn 表示列表元素。
例如,下面定義的列表都是合法的:
num = [1, 2, 3, 4, 5, 6, 7]
name = ['tiger', 'baby']
program = ['Python', 'Java']
另外,使用此方式創建列表時,列表中元素可以有多個,也可以一個都沒有,例如:
emptylist = [] # emptylist是一個空列表
2、使用 list() 函數創建列表
除了使用[]創建列表外,Python 還提供了一個內置的函數 list(),使用它可以將其它數據類型轉換爲列表類型。例如:
# 創建空列表
print(list())
# 將字符串轉換成列表
list1 = list('Hello')
print(list1)
# 將元組轉換成列表
tuple1 = ('Python', 'Java', 'C++', 'JavaScript')
list2 = list(tuple1)
print(list2)
# 將字典轉換成列表
dict1 = {'a': 100, 'b': 42, 'c': 9}
list31 = list(dict1)
list32 = list(dict1.values())
print('直接用list()函數轉化字典,只是轉化的字典的鍵')
print(list31)
print('用list()函數轉化字典的值')
print(list32)
# 將集合轉換成列表
set1 = {1, 'python', 2}
list5 = list(set1)
print(list5)
# 將區間轉換成列表
range1 = range(1, 6)
list4 = list(range1)
print(list4)
三、python列表裏元素的實際操作:
- 0、列表的索引
- 1、向列表裏面加元素;
- 2、刪減列表中的一些元素;
- 3、獲取列表裏面的特定元素;
- 4、列表分片;
- 5、常用的列表操作符;
- 6、其他常見列表操作函數;
- 7、其他的函數。
0、列表的索引(index):是列表從頭到尾每個元素都有一個遞增的號碼,列表的第一元素的索引是0。
Python列表的索引可以是正索引(從頭到尾),也可以是負索引(從尾到頭),總結爲下面的關係:
1、向列表裏面加元素:
(1)append()是在列表的最後添加一個元素,每次只能添加一個元素,並且只能在列表最後。
list.append(element1)
(2)extend()是在列表的最後添加多個元素,每次可以添加多個元素,不過也只能在列表最後添加。
list.extend([element1, element2, ..., elementN])
(3)insert()是在列表的特定位置添加想要添加的特定元素,原此位置和這個位置之後的元素依次往後排。
list.insert(n, elementN)
list_test1 = [1, 2, 3, 4]
print(list_test1)
list_test1.append('abc')
print(list_test1)
list_test2 = [1, 2, 3, 4]
list_test2.extend(['abc', 'def', 'ghi'])
print(list_test2)
list_test3 = [1, 2, 3, 4]
list_test3.insert(2, 'abc')
print(list_test3)
2、刪減列表中的一些元素;
(1)remove()是移除列表裏的特定元素,從索引爲0開始找,找到並刪除,如果後面還有相同元素也不刪除,只刪除第一個找到的元素。
list.remove(element1)
(2)del list[n]是刪除掉列表裏面的索引號位置爲n的元素。
del list[n]
(3)pop()是將列表的最後一個元素返回,並且在此基礎上將最後一個元素刪除。
case1 = list.pop() # case1就等於列表中最後一個元素。
print(list) # 此時輸出list列表,已經是刪除最後一個元素的列表。
list_test1 = [1, 2, 3, 4]
print(list_test1)
list_test1.remove(2)
print(list_test1)
list_test2 = [1, 2, 3, 4, 2]
print(list_test2)
del list_test2[1]
print(list_test2)
list_test3 = [1, 2, 3, 4]
print(list_test3)
case1 = list_test3.pop()
print(case1)
print(list_test3)
3、獲取列表裏面的特定元素
case1 = list1[n] # 獲取列表第n+1位置處的元素
4、列表分片
獲取列表中一部分元素。
case1=list1[m:n] # 表示將列表裏從索引號位置爲m開始的元素到n-1處元素之間的列表獲取。
5、常用的列表操作符
(1)“+”:它主要實現的是多個列表之間的拼接
(2)“*”:主要實現的是列表的複製和添加
(3)“<”,">":主要進行數據型列表的元素比較
比較原理:從第一個元素順序開始比較,如果相等,則繼續,返回第一個不想等元素比較的結果。
如果所有元素比較均相等,則長的列表大,一樣長則兩列表相等。
(4)and;邏輯運算符,可以進行列表之間的邏輯判斷
6、其他常見列表操作函數:
(1)list1.count(element):輸出element元素在列表list1裏面出現的次數。
(2list1.index(element):輸出元素element在列表list1裏面的索引位置號。
list1.index(element,m,n):對於列表list1裏面包含多個元素element時,輸出在列表list1索引號m-n間的特定元素的索引號。
(3)list1.reverse():將列表原地逆序排列
(4)list1.sort():將列表裏面地數據進行從小到大的排列
(5)list1.sort(reverse=True):將列表裏面地數據進行從大到小的排列
7、其他的函數:
(1)len(list):列表元素個數
(2)max(list):返回列表元素最大值
(3)min(list):返回列表元素最小值
(4)sum(list):計算列表所有元素的和,其元素類型必須是數值型的(整數、浮點數)。
(5)any()只要列表中有一個元素是True就返回True。
(6)all()只有列表所有元素爲True才返回True。