零基礎小白學習:python之最詳細列表篇
阿新 • • 發佈:2020-10-16
簡介
列表由一系列按特定順序排列的元素組成,可以將字母表中的所有字母,數字 (0 - 9) ,也可以將任何東西加入列表中,其中的元素之間可以沒有任何關係。
python中,用方括號 ( [ ] )來表示列表,並使用逗號 來分割其中的元素。
訪問列表元素
# 列表是有序集合, 因此要訪問列表的任何元素, 只需要將該元素的位置或者索引告訴python即可 names = ['python', 'java', 'javascript', 'c', 'c++', 'c#', 'go'] # 訪問索引為0的元素, 即是第一個元素,眾所周知大多數程式語言第一個元素的索引是 0 而不是 1 print(names[0]) # 控制檯輸出 python # 訪問索引為 1 的元素 print(names[1]) # 控制檯輸出 java # 訪問索引為 2 的元素 print(names[2]) # 控制檯輸出 javascript # 訪問索引為 3 的元素 print(names[3]) # 控制檯輸出 c 複製程式碼
# python為訪問最後一個列表元素提供了一個特殊的語法。 通過將索引指定為 -1, python會返回最後一個列表元素
print(names[-1])
# 控制檯輸出 go
# 那麼以此類推,-2, 返回倒數第二個列表元素
print(names[-2])
# 控制檯輸出 c#
複製程式碼
如果大家在學習中遇到困難,想找一個python學習交流環境,可以加入我們的python裙,裙號930900780,領取python學習資料,會節約很多時間,減少很多遇到的難題。
index()方法語法:
# index()方法語法: # # list.index(x[, start[, end]]) # 引數 # x-- 查詢的物件。 # start -- 可選,查詢的起始位置。 # end -- 可選,查詢的結束位置。 # 返回值 # 該方法返回查詢物件的索引位置,如果沒有找到物件則丟擲異常。 # arr = ['python', 'css', 'html', 'java'] # print(arr.index('java')) # 控制檯輸出 3 # print(arr.index('java', 0, 2)) # 沒有丟擲異常 # Traceback (most recent call last): # File "C:\Users\Administrator\Desktop\py\py_列表.py", line 49, in <module> # print(arr.index('java', 0, 2)) # ValueError: 'java' is not in list 複製程式碼
修改列表元素
修改列表元素的語法 與 訪問列表元素的語法類似, 要修改列表元素, 可以指定列表名和要修改的元素索引, 在指定該元素的新值。
List = ['人生', '苦短', '我用', 'python'] # 修改索引為 1 的元素 # 列表名 List 索引位置 1 新值 短短 List[1] = '短短' print(List) # 控制檯輸出 ['人生', '短短', '我用', 'python'] # 修改索引為 3 的元素 # 列表名 List 索引位置 3 新值 java List[3] = 'java' print(List) # 控制檯輸出 ['人生', '短短', '我用', 'java'] 複製程式碼
列表新增元素
append() 方法用於在列表末尾新增新的列表元素
# append()方法語法:list.append(obj)
# 引數
# obj -- 新增到列表末尾的元素。
# 返回值
# 該方法無返回值,但是會修改原來的列表。
arr = ['直男', '暖男']
# 新增元素
arr.append('渣男')
print(arr)
# 控制檯輸出 ['直男', '暖男', '渣男']
複製程式碼
在列表中插入元素
insert() 方法用於將指定元素插入列表的指定位置。
# insert方法可以在列表的任意位置新增新元素,需要指定新元素的索引和值即可
# insert()方法語法:
#
# list.insert(index, item)
# 引數
# index -- 元素 item 需要插入的索引位置。
# item -- 要插入列表中的物件。
# 返回值
# 該方法沒有返回值,但會在列表指定位置插入物件。
arr = ['蘿莉音', '御姐音']
arr.insert(2, '鐵觀音')
print(arr)
# 控制檯輸出 ['蘿莉音', '御姐音', '鐵觀音']
複製程式碼
在列表中同時插入多個元素
extend()
extend()
# extend() 函式用於在列表末尾一次性追加另一個序列中的多個值(用新列表擴充套件原來的列表)。
#
# 語法
# extend()方法語法:
#
# list.extend(seq)
# 引數
# seq -- 元素列表。
# 返回值
# 該方法沒有返回值,但會在已存在的列表中新增新的列表內容。
arr = ['py']
arr.extend(['c', 'c++'])
print(arr)
# 控制檯輸出 ['py', 'c', 'c++']
複製程式碼
列表中刪除元素
del 語句刪除元素
# 使用 del 語句可以刪除任何位置處的列表元素, 條件是必須知道刪除元素的索引下標
# 語法
# del 列表[索引] list[1]
arr = ['你', '我', '她']
del arr[1]
print(arr)
# 控制檯輸出 ['你', '她']
# 使用 del 語句將值從列表中刪除後, 你就無法訪問了。
複製程式碼
pop() 刪除元素
# pop() 函式用於移除列表中的一個元素(預設最後一個元素),並且返回該元素的值。
#
# 語法
# pop()方法語法:
#
# list.pop([index=-1])
# 引數
# obj -- 可選引數,要移除列表元素的索引值,不能超過列表總長度,預設為 index=-1,刪除最後一個列表值。
arr = ['英短', '美短', '銀漸層']
# 預設刪除最後一個元素
arr.pop()
print(arr)
# 控制檯輸出 ['英短', '美短']
# 刪除索引為0的元素
arr.pop(0)
print(arr)
複製程式碼
remove() 根據值刪除元素
# remove() 函式用於移除列表中某個值的第一個匹配項。
#
# 語法
# remove()方法語法:
#
# list.remove(item)
# 引數
# item -- 列表中要移除的物件。
# 返回值
# 該方法沒有返回值但是會移除列表中的某個值的第一個匹配項。
arr = ['哈士奇', '金毛', '阿拉斯加', '柯基']
# 根據 值刪除
arr.remove('金毛')
print(arr)
# 控制檯輸出 ['哈士奇', '阿拉斯加', '柯基']
arr.remove('阿拉斯加')
print(arr)
# 控制檯輸出 ['哈士奇', '柯基']
# remove方法只刪除第一個指定的值,如果要刪除的值可能在列表中出現多次, 就需要使用迴圈來刪除 元素.
複製程式碼
刪除 保留列表名稱,清空裡面的值
clear()
# clear() 函式用於清空列表,類似於 del a[:]。
#
# 語法
# clear()方法語法:
#
# list.clear()
# 引數
# 無
# 返回值
# 該方法沒有返回值。
arr = ['asd', 'sda', 'dasasd', 'dd']
arr.clear()
print(arr)
# 控制檯輸出 []
複製程式碼
sort() 排序
# sort() 永久性地修改了列表元素的排列順序
# sort() 函式用於對原列表進行排序,如果指定引數,則使用比較函式指定的比較函式。
#
# 語法
# sort()方法語法:
#
# list.sort( key=None, reverse=False)
#
# 引數
# key -- 主要是用來進行比較的元素,只有一個引數,具體的函式的引數就是取自於可迭代物件中,指定可迭代物件中的一個元素來進行排序。
# reverse -- 排序規則,reverse = True 降序, reverse = False 升序(預設)。
# 返回值
# 該方法沒有返回值,但是會對列表的物件進行排序。
arr = ['a', 'c', 'd', 'b']
arr.sort()
print(arr)
# 控制檯輸出 ['a', 'b', 'c', 'd']
arr = [1, 4, 6, 5, 3, 2]
arr.sort()
print(arr)
# 控制檯輸出 [1, 2, 3, 4, 5, 6]
複製程式碼
sorted()
# sorted() 函式對所有可迭代的物件進行排序操作。
#
# sort 與 sorted 區別:
#
# sort 是應用在 list 上的方法,sorted 可以對所有可迭代的物件進行排序操作。
#
# list 的 sort 方法返回的是對已經存在的列表進行操作,無返回值,而內建函式 sorted 方法返回的是一個新的 list,而不是在原來的基礎上進行的操作。
#
# 語法
# sorted 語法:
#
# sorted(iterable, cmp=None, key=None, reverse=False)
# 引數說明:
#
# iterable -- 可迭代物件。
# cmp -- 比較的函式,這個具有兩個引數,引數的值都是從可迭代物件中取出,此函式必須遵守的規則為,大於則返回1,小於則返回-1,等於則返回0。
# key -- 主要是用來進行比較的元素,只有一個引數,具體的函式的引數就是取自於可迭代物件中,指定可迭代物件中的一個元素來進行排序。
# reverse -- 排序規則,reverse = True 降序 , reverse = False 升序(預設)。
# 返回值
# 返回重新排序的列表。
arr = [('b', 2), ('a', 1), ('c', 3), ('d', 4)]
sorted(arr, key=lambda x: x[1]) # 利用key
print(arr)
# [('a', 1), ('b', 2), ('c', 3), ('d', 4)]
複製程式碼
反轉列表元素
# reverse() 永久性地修改列表元素排列順序
# reverse() 函式用於反向列表中元素。
#
# 語法
# reverse()方法語法:
#
# list.reverse()
# 引數
# 沒有引數
# 返回值
# 該方法沒有返回值,但是會對列表的元素進行反向排序。
arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]
# 將列表元素反轉
arr.reverse()
print(arr)
# 控制檯輸出 [9, 8, 7, 6, 5, 4, 3, 2, 1]
# 回覆原來的排列順序, 在呼叫一次reverse()
arr.reverse()
print(arr)
# 控制檯輸出 [1, 2, 3, 4, 5, 6, 7, 8, 9]
複製程式碼
列表的長度
# len()
# Python len() 方法返回物件(字元、列表、元組等)長度或專案個數。
#
# 語法
# len()方法語法:
#
# len( s )
# 引數
# s -- 物件。
# 返回值
# 返回物件長度。
arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(len(arr))
# 控制檯輸出 9
Str = '444444444444444444'
print(len(Str))
# 控制檯輸出 18
複製程式碼
複製列表
copy()
# copy()
# copy() 函式用於複製列表,類似於 a[:]。
#
# 語法
# copy()方法語法:
#
# list.copy()
# 引數
# 無。
# 返回值
# 返回複製後的新列表。
arr = ['aaa', 'bbb', 'ccc']
arr2 = arr.copy()
print(arr2)
# 控制檯輸出 ['aaa', 'bbb', 'ccc']
複製程式碼
加油哦!!!
這裡多說一句,小編是一名python開發工程師,這裡有我自己整理了一套最新的python系統學習教程,包括從基礎的python指令碼到web開發、爬蟲、資料分析、資料視覺化、機器學習等。想要這些資料的可以進裙930900780領取。
本文章素材來源於網路,如有侵權請聯絡刪除。