您好,登錄后才能下訂單哦!
這篇文章主要介紹“Python列表list知識點有哪些”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“Python列表list知識點有哪些”文章能幫助大家解決問題。
列表是一個有序且可更改的集合,并且是最常用的 Python 數據類型。在 Python 中,列表是使用方括號 []
編寫的。
在Python中,列表中元素的數據類型可以不同,可以包含整數、浮點數和復數等,當然,也可以包含列表、元組、字典和集合等。
創建一個列表,只需要把逗號分隔的不同數據項使用方括號 [] 括起來即可。
創建空列表
list0 = []
創建非空列表
list1 = ['Baidu', 'Alibaba', 'Tencent']
可以使用 list() 構造函數創建列表:
注意:在使用 list() 函數創建列表時,一定要注意雙括號。this_list = list(('apple', 'banana', 'cherry'))
在Python中,我們可以使用 list() 函數將字符串、元組、字典和集合等其他類似對象轉換為列表。具體用法見下方內置函數:
和列表一樣,我們既可以使用下標索引訪問列表中的某個元素(得到一個元素的值),也可以使用切片訪問列表中的一組元素(得到是子列表)。
下標索引訪問元組分為兩大類,即正向索引和反向索引,格式為 list_name[i]
,其中,list_name 表示列表名,i表示索引值,i可以是正數(正向索引)也可以是負數(反向索引)。
可以得知,list_name[0]
表示列表的第一個元素,list_name[-1]
則表示列表的最后一個元素。
list_name = ['wzq', 'lgl', 'gz', 'whl', 'sj', 'hxw']print(list_name[0])print(list_name[-1])
wzq
hxw
正向索引:從第一個(下標0)開始、第二個(下標1)…
反向索引:從倒數第一個(下標-1)、倒數第二個(下標-2)…
如若對上方描述不太理解,可參考下表:
元組值 | wzq | lgl | gz | whl | sj | hxw |
---|---|---|---|---|---|---|
正向索引 | 0 | 1 | 2 | 3 | 4 | 5 |
反向索引 | -6 | -5 | -4 | -3 | -2 | -1 |
使用切片訪問列表的格式為 list_name[strat : end : step]
,其中,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']
在使用切片訪問列表元素時,
list_name[strat : end : step]
,[start:end] 是左閉右開區間,即訪問不了 end 代表的元素。
可以使用 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
使用 in 關鍵字檢查列表中是否存在指定項時,如果存在,則返回 True ;反之,則返回 False 。
當我們創建列表后,我們可以對列表中的數據項進行修改或更新,當然我們也可以使用 append() 方法來添加列表項。
fruit_list = ['apple', 'pear', 'cherry']fruit_list[2] = 'banana'print(fruit_list)
['apple', 'pear', 'banana']
注意:元組一旦創建后,其值將無法被更改,但是有其他解決方法。
與字符串一樣,列表之間可以使用 +
號和 *
號實現元組的連接和復制,這就意味著它們可以生成一個新的列表。
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)
[[1, 2, 3], ['a', 'b', 'c']]
列表比較需要引入 operator 模塊的 eq 方法。
# 導入 operator 模塊import operator
a = [1, 2]b = [2, 3]c = [2, 3]print("operator.eq(a, b):", operator.eq(a, b))print("operator.eq(b, c):", operator.eq(b, c))
operator.eq(a, b): Falseoperator.eq(b, c): True
1、print()
函數
print() 函數的功能我們已經非常熟悉了,就是打印輸出。
my_list = ['pink', True, 1.78, 65]print(my_list)
['pink', True, 1.78, 65]
2、len()
函數
當我們要確定一個列表有多少項目(元素)時,可以使用len()
函數。
fruit_list = ['apple', 'banana', 'cherry']print(len(fruit_list))
3、type()
函數
使用 type() 函數可以確定變量是什么類型(字符串、列表、元組、字典或集合)。
info_list = ['name', 'gender', 'age', 'height', 'weight']print(type(info_list))
<class 'list'>
當對
info_list
使用 type() 確定變量類型時,會返回<class 'list'>
,表明這是一個列表。
4、tuple()
函數
tuple() 函數的功能是,將其他類型轉換為元組類型,詳細用法如下:
將字符串轉換為列表
將元組轉換為列表str1 = 'Hello Python'print(list(str1))
['H', 'e', 'l', 'l', 'o', ' ', 'P', 'y', 't', 'h', 'o', 'n']
tuple1 = ('Hello', 'Python')print(list(tuple1))
['Hello', 'Python']
將字典轉換為列表
dict1 = {'Hello': 'Python', 'name': 'pink'}print(list(dict1))
['Hello', 'name']
將集合轉換為列表
set1 = {'Hello', 'Python', 'name', 'pink'}print(list(set1))
['Python', 'name', 'pink', 'Hello']
將區間轉換為列表
range1 = range(1, 6)print(list(range1))
[1, 2, 3, 4, 5]
5、max()
函數和min()
函數
max() 函數的作用是返回列表中元素最大值。min() 函數的作用是返回列表中元素最小值。
list1 = [4, 6, 2, 0, -5]print(max(list1))print(min(list1))list2 = ['a', 'z', 'A', 'Z']print(max(list2))print(min(list2))
6-5z
A
刪除單個元素
我們可以使用 del list_name[i]
來刪除某個指定元素,其中 list_name 表示列表名,i 表示指定值的索引值。
list_de = ['Baidu', 'Alibaba', 'Tencent', 'Bytedance']del list_de[1]print(list_de)
['Baidu', 'Tencent', 'Bytedance']
刪除列表
del 函數不僅可以實現刪除某個元素,還可以刪除整個列表。
list_de = ['Baidu', 'Alibaba', 'Tencent', 'Bytedance']del list_de
當我們使用 del 函數刪除某列表后,再使用 print() 函數打印輸出時,會報錯
NameError: name 'list_de' is not defined
,表明該列表未被定義。
1、append()
方法
append() 方法用于在列表末尾添加新的對象。
語法
list.append(element)
參數值
參數 | 描述 |
---|---|
element | 必需。任何類型(字符串、數字、對象等)的元素。 |
實例
添加元素
fruit_list = ['apple', 'banana', 'cherry']fruit_list.append('pear')print(fruit_list)
['apple', 'banana', 'cherry', 'pear']
添加列表
x = [1, 2, 3]y = ['A', 'B', 'C']x.append(y)print(x)
[1, 2, 3, ['A', 'B', 'C']]
2、insert()
方法
insert() 方法用于將指定對象插入列表的指定位置。
語法
list.insert(position, element)
參數值
參數 | 描述 |
---|---|
position | 必需。數字,指定在哪個位置插入值。 |
element | 必需。元素,任何類型(字符串、數字、對象等)。 |
實例
把值 “orange” 作為第二個元素插入 fruits 列表:
fruits = ['apple', 'banana', 'cherry']fruits.insert(1, "orange")print(fruits)
['apple', 'orange', 'banana', 'cherry']
將列表 y 插入到列表 x 中
x = [1, 2, 3]y = ['a', 'c']x.insert(0, y)print(x)
[['a', 'c'], 1, 2, 3]
append() 只能在末尾處添加元素或列表,insert() 可以在任意位置添加元素或列表。
3、extend()
方法
extend() 方法用于在列表末尾一次性追加另一個序列中的多個值(用新列表擴展原來的列表)。
語法
登錄后復制list.extend(iterable)
參數值
參數 | 描述 |
---|---|
iterable | 必需。任何可迭代對象(列表、集合、元組等)。 |
實例
aver = ['A', 'B', 'C']
添加字符串元素到列表末尾
str1 = 'Hello'aver.extend(str1)print(aver)
['A', 'B', 'C', 'H', 'e', 'l', 'l', 'o']
添加列表元素到列表末尾
list1 = [1, 2, 3]aver.extend(list1)print(aver)
['A', 'B', 'C', 1, 2, 3]
添加元組元素到列表末尾
登錄后復制tuple1 = (1, 2, 3)aver.extend(tuple1)print(aver)
['A', 'B', 'C', 1, 2, 3]
添加字典元素到列表末尾
dict1 = {'name': 'pink', 'gender': True}aver.extend(dict1)print(aver)
['A', 'B', 'C', 'name', 'gender']
添加集合元素到列表末尾
set1 = {1, 2, 3}aver.extend(set1)print(aver)
['A', 'B', 'C', 1, 2, 3]
添加區間到列表末尾
range1 = range(1,10)aver.extend(range1)print(aver)
['A', 'B', 'C', 1, 2, 3, 4, 5, 6, 7, 8, 9]
count() 方法用于統計某個元素在列表中出現的次數。
語法
list.count(value)
參數值
參數 | 描述 |
---|---|
value | 必需。任何類型(字符串、數字、列表、元組等)。要搜索的值。 |
實例
num = [1, 4, 2, 9, 7, 8, 9, 3, 1]print(num.count(9))
2
index() 方法用于從列表中找出某個值第一個匹配項的索引位置。
語法
list.index(element)
參數值
參數 | 描述 |
---|---|
element | 必需。任何類型(字符串、數字、列表等)。要搜索的值。 |
實例
num = [4, 55, 64, 32, 16, 32]print(num.index(32))
3
當被搜索值在列表中多次出現時,僅返回首次出現的位置。
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']
按照值的長度對列表進行排序:
# 返回值的長度的函數:def myfunc(e):
return len(e)words = ['a', 'bb', 'ccc', 'dddd', '']words.sort(key=myfunc)print(words)
['', 'a', 'bb', 'ccc', 'dddd']
根據字典的 “year” 值對字典列表進行排序:
# 返回 'year' 值的函數:def myfunc(e):
return e['year']words = [
{'char': 'a', 'year': 1963},
{'char': 'b', 'year': 2010},
{'char': 'c', 'year': 2019}]words.sort(key=myfunc)print(words)
[{'char': 'a', 'year': 1963}, {'char': 'b', 'year': 2010}, {'char': 'c', 'year': 2019}]
按照值的長度對列表進行降序排序:
# 返回值的長度的函數:def myfunc(e):
return len(e)words = ['aa', 'b', 'ccc', 'dddd']words.sort(reverse=True, key=myfunc)print(words)
['dddd', 'ccc', 'aa', 'b']
指定列表中的元素排序來輸出列表:
# 獲取列表的第二個元素def takeSecond(elem):
return elem[1]# 列表random = [(2, 2), (3, 4), (4, 1), (1, 3)]# 指定第二個元素排序random.sort(key=takeSecond)# 輸出類別print('排序列表:', random)
排序列表: [(4, 1), (2, 2), (1, 3), (3, 4)]
copy() 方法用于復制列表,類似于 a[:]。
語法
list.copy()
參數值
無參數
實例
fruits = ['apple', 'banana', 'cherry', 'orange']x = fruits.copy()print(x)
['apple', 'banana', 'cherry', 'orange']
復制(制作副本)的另一種方法是使用內置函數 list() ,如下:
list1 = ['apple', 'banana', 'cherry']list_2 = list(list1)
reverse() 方法用于反向列表中元素。
語法
list.reverse()
參數值
無參數
實例
fruits = ['apple', 'banana', 'cherry']fruits.reverse()print(fruits)
['cherry', 'banana', 'apple']
1、pop()
方法
pop() 方法用于移除列表中的一個元素(默認最后一個元素),并且返回該元素的值。
語法
登錄后復制list.pop(pos)
參數值
參數 | 描述 |
---|---|
pos | 可選。數字,指定需刪除元素的位置。默認值 -1,返回最后的項目。 |
實例
當 pos 未指定時,默認刪除最后的元素
pos 指定要刪除元素的位置fruits = ['apple', 'banana', 'cherry']fruits.pop()print(fruits)
['apple', 'banana']
fruits = ['apple', 'banana', 'cherry']fruits.pop(1)print(fruits)
['apple', 'cherry']
2、remove()
方法
remove() 方法用于移除列表中某個值的第一個匹配項。
語法
list.remove(element)
參數值
參數 | 描述 |
---|---|
element | 必需。需刪除的任何類型(字符串、數字、列表等)的元素。 |
實例
num = [1, 3, 2, 8, 3]num.remove(3)print(num)
[1, 2, 8, 3]
當被刪除的元素在列表中存在多個時,默認刪除首次出現的那個。
3、clear()
方法
clear() 方法用于清空列表,類似于 del a[:]。
語法
list.clear()
參數值
無參數
實例
word = ['A', 'B', 'C']word.clear()print(word)
[]
clear() 方法的作用是清空列表,執行結束后對其使用 printf() 打印輸出時,會輸出
[]
,說明列表還存在,只是空列表而已。del 函數的作用是刪除列表,執行結束后對其使用 printf() 打印輸出時,會報錯
NameError: name 'word' is not defined.
。
函數 | 描述 |
---|---|
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() | 清空列表 |
關于“Python列表list知識點有哪些”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。