1. 程式人生 > 實用技巧 >零基礎小白學習:python之最詳細列表篇

零基礎小白學習:python之最詳細列表篇

簡介

列表由一系列按特定順序排列的元素組成,可以將字母表中的所有字母,數字 (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領取。

本文章素材來源於網路,如有侵權請聯絡刪除。