列表
創建列表
1.列表的定義:可變的,有序的數據結構,可以隨時添加或者刪除其中的元素
2.基本語法:字面量【元素1,元素2,元素3】==使用[]創建列表
定義變量:變量名稱【元素1,元素2,元素3】
定義空變量:變量名稱:【】;變量名稱=list【】
列表里的每一個數據稱之為數據,以[ ]作為標識,列表內每一個元素之間用逗號隔開,甚至元素本身也可以是列表,這樣就夠成了嵌套列表,列表可以存儲多種數據
name_list1=[[‘red’,’green’],[‘blue’,’white’],name1_list]
列表可以將元素修改數據類型
3.使用list()函數,創建(轉換為)列表:
this_list = list(('apple', 'banana', 'cherry'))
注意:在使用 list() 函數創建列表時,一定要注意雙括號。
##訪問列表
列表的下標索引:
從前往后從0開始,依次遞增;也可以反向索引,從后往前-1,-2,-3
name_list=[‘Tom’,’Lily’,’Rose’]
print(name_list[0])------Tom
print(name_list[-2])----Lily
如果列表是嵌套的列表,同樣支持下標索引
my_list=[[1,2,3],[44,5,6]]
print(my_list2[1][1])第一個下標是確定是列表[123],再根據第二個下標取出元素
取值的時候不能發生越界,否則會報錯
列表切片
語法:list_name[start: end :step]
list_name = ['wzq', 'lgl', 'gz', 'whl', 'sj', 'hxw']
print(list_name[1:5:2])
print(list_name[-6:-1:3])
>>>最后的結果是:['lgl', 'whl']
['wzq', 'whl']
while 循環
-
元素訪問方式 : 使用 下標索引 訪問 列表中的元素 ;
-
循環控制 :
循環控制變量 :用于指示當前循環的 下標索引 ;
循環條件 :設置為 循環控制變量 ( 下標索引 ) < 列表長度 ;
-
# 循環控制變量定義 對應下標索引 index = 0 while index < len(列表變量):# 使用 下標索引 取出列表元素, 使用變量接收列表元素變量 = 列表變量[index]# 處理元素# 下標索引變量 ( 循環控制變量 ) 自增 1 index += 1
-
for循環遍歷列表
fruit_list = ['apple', 'pear', 'cherry']
for i in fruit_list:print(i)
>>>apple
pear
cherry
檢查項目是否存在
使用in關鍵字:
# 檢查列表中是否存在'apple'
fruit_list = ['apple', 'pear', 'cherry']
print('apple' in fruit_list)
>>>結果:True
##更改列表值(追加,插入,刪除)
(1)創建列表后,可以直接對列表中的數據項進行修改或者是更新
fruit_list = ['apple', 'pear', 'cherry']
fruit_list[2] = 'banana'
print(fruit_list)
>>>['apple', 'pear', 'banana']
內置方法
(2)列表.append(元素):向列表中追加一個元素
mylist=[“itCSDN”,”itlove”,”python”]
mylist.append(“CSDN程序員”)
print(f”列表再追加了元素之后,結果是:{mylist}”)
<<<最終的結果是:[‘itCSDN’,’itlove’,’python’,’CSDN程序員’]
(3)列表.insert(下標,元素)在指定下標處,插入指定的元素
語法:list.insert(position, element)
mylist=[“itCSDN”,”itlove”,”python”]
mylist.insert(1,“best”)
print(f”列表插入元素之后,結果是{mylist}”)
>>>最后的結果是:[“itCSDN”,“best”,”itlove”,”python”]
append()只能在末尾處添加元素或者是列表,insert()可以在任意位置添加元素或者是列表
(4)列表.extend(容器):將數據容器的內容依次取出,追加到列表尾部,依次添加(用列表擴展原來的列表)
mylis1t=[“itCSDN”,”itlove”,”python”]
mylist2=[1,2,3]
mylist1.extend(mylist2)
print(f”列表在追加了一個個新的列表之后,結果是{mylist1}”)
<<<最后的結果是[‘itCSDN’,’itlove’,’python’,1,2,3]
aver = ['A', 'B', 'C']
str1 = 'Hello'
aver.extend(str1)
print(aver)
>>>['A', 'B', 'C', 'H', 'e', 'l', 'l', 'o']
在 Python 中,list.extend()
方法用于將一個可迭代對象(如字符串、列表等)的所有元素添加到列表的末尾。當你將一個字符串傳遞給 extend()
方法時,字符串會被視為一個可迭代對象,因此它會將字符串中的每個字符作為單獨的元素添加到列表中。
(5) del列表[下標]:刪除列表指定下標元素或者刪除整個列表
mylist=[“itCSDN”,”itlove”,”python”]
del mylist[2]
print(f”列表刪除的元素之后的結果是:{mylist}”)
>>>最后的結果是[“itCSDN”,”itlove”]
list_de = ['Baidu', 'Alibaba', 'Tencent', 'Bytedance']
del list_de
>>>再次打印輸出會發生報錯,表明該列表未被定義
(6)列表.pop(下標pos):刪除列表指定下標元素,pos可選,指定需要刪除元素 的位置,默認值為-1,即默認刪除最后的元素
fruits = ['apple', 'banana', 'cherry']
fruits.pop()
print(fruits)
>>>['apple', 'banana']
fruits = ['apple', 'banana', 'cherry']
fruits.pop(1)
print(fruits)
>>>['apple', 'cherry']
mylist=[“itCSDN”,”itlove”,”python”]
element=list。pop(2)
print(f”通過pop的方法取出元素后的列表內容是:{mylist},取出的元素是:{element}”)
>>>最后的結果是:[“itCSDN”,”itlove”],取出的元素是python
pop與del的區別是不但能把元素刪掉,還能把刪除元素作為返回值得到
(7)列表.remove(元素):刪除元素的第一個匹配項
mylist=[“itCSDN”,”itlove”,”python”]
mylist.remove(“itlove”)
print(f”通過remove方法移除元素之后,列表的結果是:{mylist}”)
>>>最后的結果是[“itCSDN”,”python”]
當被刪除的元素在列表中存在多個時,默認刪除首次出現的那個。
(8)列表.clear():清空列表
mylist=[“itCSDN”,”itlove”,”python”]
mylist.clear()
print(f”列表清空之后的結果是:{mylist}”)
>>>最后的結果是:[]
列表統計
(1)列表.count(元素):統計此元素在列表中出現的次數
mylist = ["itCSDN", "itlove", "itlove", "itlove", "python"]
count = mylist.count("itlove")
print(f"列表中itlove的數量是:{count}")
>>>最后的結果是3
(2)列表.index(元素):查找指定元素在列表的第一個下標,找不到就報錯ValueError
mylist = ["itCSDN", "itlove", "python"]
index = mylist.index("itlove")
print(f"itlove在列表中的下標索引值是:{index}")
>>>最后的結果是1
當被搜索值在列表中多次出現時,僅返回首次出現的位置。
(3)len(列表):統計容器內有多少元素
mylist = ["itCSDN", "itlove", "python"]
count = len(mylist)
print(f"列表的元素數量總共有:{count}個")
>>>最后的結果是3
多個列表
列表的連接(合并)/復制
與字符串一樣,列表之間可以使用 + 號和 * 號實現元組的連接和復制,這就意味著它們可以生成一個新的列表。
1、+連接(合并)
x = [1, 2, 3]
y = [4, 5, 6]
print(x + y)
#[1, 2, 3, 4, 5, 6]
2、*復制
x = ['Hello']
print(x * 5)
#['Hello', 'Hello', 'Hello', 'Hello', 'Hello']
嵌套列表
使用嵌套列表即在列表里面創建其他列表。
x = [1, 2, 3]
y = ['a', 'b', 'c']
z = [x, y]
print(z)
1234
[[1, 2, 3], ['a', 'b', 'c']]
復制列表
list.copy()
fruits = ['apple', 'banana', 'cherry', 'orange']
x = fruits.copy()
print(x)
>>>['apple', 'banana', 'cherry', 'orange']
list1 = ['apple', 'banana', 'cherry']
list_2 = list(list1)
列表排序
(1)sort():用于對原列表進行排序,如果指定參數,則使用比較函數指定的比較函數
語法:list.sort(reverse=True|False, key=myFunc)
reverse:reverse=True是對列表進行降序排列,默認是reverse=False
key:指定排序標準的函數
words = ['Name', 'Gender', 'Age', 'Height', 'Weight']
words.sort()
print(words)
>>>['Age', 'Gender', 'Height', 'Name', 'Weight']
words = ['Name', 'Gender', 'Age', 'Height', 'Weight']
words.sort(reverse=True)
print(words)
>>>['Weight', 'Name', 'Height', 'Gender', 'Age']
(2)顛倒列表順序:list.reverse()
fruits = ['apple', 'banana', 'cherry']
fruits.reverse()
print(fruits)
>>>['cherry', 'banana', 'apple']
函數 | 描述 |
---|---|
print() | 打印輸出 |
len() | 確定列表的長度 |
type() | 輸出變量的類型 |
list() | 定義列表(轉換為列表) |
max() | 返回列表元素的最大值 |
min() | 返回列表的最小值 |
del | 刪除整個列表或者通過索引刪除列表中的某個元素 |
append(obj) | 在列表末尾添加一個元素 |
insert(index, obj) | 在指定的位置插入一個元素 |
extend(seq) | 將列表元素添加到當前列表的末尾 |
count(obj) | 統計某個元素在列表中出現的次數 |
index(obj) | 查找元素在列表的第一個匹配項的索引 |
sort( key=None, reverse=False) | 正向排序 |
copy() | 復制列表 |
reverse() | 逆向排序 |
pop([-1]) | 刪除列表的最后一個元素,并且返回該元素 |
remove(obj) | 移除列表中某個值的第一個匹配項 |
clear() | 清空列表 |
列表推導式
- [表達式 for 變量 in 列表]:當變量遍歷列表時,得到由對應的表達式結果組成的列表
- [表達式 for 變量 in 列表 if 條件]:變量遍歷列表,并且滿足if后面的條件時,得到的是由表達式運算結果組成的列表
- [表達式 for 變量 in 取值范圍]:變量在取值范圍內的遍歷,然后通過表達式運算得到結果列表