簡介
列表由一系列按特定順序排列的元素組成,可以將字母表中的所有字母,數(shù)字 (0 - 9) ,也可以將任何東西加入列表中,其中的元素之間可以沒有任何關(guān)系。
python中,用方括號 ( [ ] )來表示列表,并使用逗號 來分割其中的元素。
訪問列表元素
# 列表是有序集合, 因此要訪問列表的任何元素, 只需要將該元素的位置或者索引告訴python即可
names = ['python', 'java', 'javascript', 'c', 'c++', 'c#', 'go']
# 訪問索引為0的元素, 即是第一個元素,眾所周知大多數(shù)編程語言第一個元素的索引是 0 而不是 1
print(names[0])
# 控制臺輸出 python
# 訪問索引為 1 的元素
print(names[1])
# 控制臺輸出 java
# 訪問索引為 2 的元素
print(names[2])
# 控制臺輸出 javascript
# 訪問索引為 3 的元素
print(names[3])
# 控制臺輸出 c
復(fù)制代碼
# python為訪問最后一個列表元素提供了一個特殊的語法。 通過將索引指定為 -1, python會返回最后一個列表元素
print(names[-1])
# 控制臺輸出 go
# 那么以此類推,-2, 返回倒數(shù)第二個列表元素
print(names[-2])
# 控制臺輸出 c#
復(fù)制代碼
?

如果大家在學(xué)習(xí)中遇到困難,想找一個python學(xué)習(xí)交流環(huán)境,可以加入我們的python裙,裙號930900780,領(lǐng)取python學(xué)習(xí)資料,會節(jié)約很多時間,減少很多遇到的難題。
index()方法語法:
# index()方法語法:
#
# list.index(x[, start[, end]])
# 參數(shù)
# x-- 查找的對象。
# start -- 可選,查找的起始位置。
# end? -- 可選,查找的結(jié)束位置。
# 返回值
# 該方法返回查找對象的索引位置,如果沒有找到對象則拋出異常。
# 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
復(fù)制代碼
修改列表元素
修改列表元素的語法 與 訪問列表元素的語法類似, 要修改列表元素, 可以指定列表名和要修改的元素索引, 在指定該元素的新值。
List = ['人生', '苦短', '我用', 'python']
# 修改索引為 1 的元素
# 列表名 List 索引位置 1 新值 短短
List[1] = '短短'
print(List)
# 控制臺輸出 ['人生', '短短', '我用', 'python']
# 修改索引為 3 的元素
# 列表名 List 索引位置 3 新值 java
List[3] = 'java'
print(List)
# 控制臺輸出 ['人生', '短短', '我用', 'java']
復(fù)制代碼
列表添加元素
append() 方法用于在列表末尾添加新的列表元素
# append()方法語法:list.append(obj)
# 參數(shù)
# obj -- 添加到列表末尾的元素。
# 返回值
# 該方法無返回值,但是會修改原來的列表。
arr = ['直男', '暖男']
# 添加元素
arr.append('渣男')
print(arr)
# 控制臺輸出 ['直男', '暖男', '渣男']
復(fù)制代碼
在列表中插入元素
?

insert() 方法用于將指定元素插入列表的指定位置。
# insert方法可以在列表的任意位置添加新元素,需要指定新元素的索引和值即可
# insert()方法語法:
#
# list.insert(index, item)
# 參數(shù)
# index --? 元素 item 需要插入的索引位置。
# item? -- 要插入列表中的對象。
# 返回值
# 該方法沒有返回值,但會在列表指定位置插入對象。
arr = ['蘿莉音', '御姐音']
arr.insert(2, '鐵觀音')
print(arr)
# 控制臺輸出 ['蘿莉音', '御姐音', '鐵觀音']
復(fù)制代碼
在列表中同時插入多個元素
extend()
extend()
# extend() 函數(shù)用于在列表末尾一次性追加另一個序列中的多個值(用新列表擴展原來的列表)。
#
# 語法
# extend()方法語法:
#
# list.extend(seq)
# 參數(shù)
# seq -- 元素列表。
# 返回值
# 該方法沒有返回值,但會在已存在的列表中添加新的列表內(nèi)容。
arr = ['py']
arr.extend(['c', 'c++'])
print(arr)
# 控制臺輸出 ['py', 'c', 'c++']
復(fù)制代碼
列表中刪除元素
del 語句刪除元素
# 使用 del 語句可以刪除任何位置處的列表元素, 條件是必須知道刪除元素的索引下標(biāo)
# 語法
# del 列表[索引] list[1]
arr = ['你', '我', '她']
del arr[1]
print(arr)
# 控制臺輸出 ['你', '她']
# 使用 del 語句將值從列表中刪除后, 你就無法訪問了。
復(fù)制代碼
pop() 刪除元素
# pop() 函數(shù)用于移除列表中的一個元素(默認(rèn)最后一個元素),并且返回該元素的值。
#
# 語法
# pop()方法語法:
#
# list.pop([index=-1])
# 參數(shù)
# obj -- 可選參數(shù),要移除列表元素的索引值,不能超過列表總長度,默認(rèn)為 index=-1,刪除最后一個列表值。
arr = ['英短', '美短', '銀漸層']
# 默認(rèn)刪除最后一個元素
arr.pop()
print(arr)
# 控制臺輸出 ['英短', '美短']
# 刪除索引為0的元素
arr.pop(0)
print(arr)
復(fù)制代碼
remove() 根據(jù)值刪除元素
# remove() 函數(shù)用于移除列表中某個值的第一個匹配項。
#
# 語法
# remove()方法語法:
#
# list.remove(item)
# 參數(shù)
# item -- 列表中要移除的對象。
# 返回值
# 該方法沒有返回值但是會移除列表中的某個值的第一個匹配項。
arr = ['哈士奇', '金毛', '阿拉斯加', '柯基']
# 根據(jù) 值刪除
arr.remove('金毛')
print(arr)
# 控制臺輸出 ['哈士奇', '阿拉斯加', '柯基']
arr.remove('阿拉斯加')
print(arr)
# 控制臺輸出 ['哈士奇', '柯基']
# remove方法只刪除第一個指定的值,如果要刪除的值可能在列表中出現(xiàn)多次, 就需要使用循環(huán)來刪除 元素.
復(fù)制代碼
刪除 保留列表名稱,清空里面的值
clear()
# clear() 函數(shù)用于清空列表,類似于 del a[:]。
#
# 語法
# clear()方法語法:
#
# list.clear()
# 參數(shù)
# 無
# 返回值
# 該方法沒有返回值。
arr = ['asd', 'sda', 'dasasd', 'dd']
arr.clear()
print(arr)
# 控制臺輸出 []
復(fù)制代碼
sort() 排序
# sort() 永久性地修改了列表元素的排列順序
# sort() 函數(shù)用于對原列表進(jìn)行排序,如果指定參數(shù),則使用比較函數(shù)指定的比較函數(shù)。
#
# 語法
# sort()方法語法:
#
# list.sort( key=None, reverse=False)
#
# 參數(shù)
# key? ? -- 主要是用來進(jìn)行比較的元素,只有一個參數(shù),具體的函數(shù)的參數(shù)就是取自于可迭代對象中,指定可迭代對象中的一個元素來進(jìn)行排序。
# reverse -- 排序規(guī)則,reverse = True 降序, reverse = False 升序(默認(rèn))。
# 返回值
# 該方法沒有返回值,但是會對列表的對象進(jìn)行排序。
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]
復(fù)制代碼
sorted()
# sorted() 函數(shù)對所有可迭代的對象進(jìn)行排序操作。
#
# sort 與 sorted 區(qū)別:
#
# sort 是應(yīng)用在 list 上的方法,sorted 可以對所有可迭代的對象進(jìn)行排序操作。
#
# list 的 sort 方法返回的是對已經(jīng)存在的列表進(jìn)行操作,無返回值,而內(nèi)建函數(shù) sorted 方法返回的是一個新的 list,而不是在原來的基礎(chǔ)上進(jìn)行的操作。
#
# 語法
# sorted 語法:
#
# sorted(iterable, cmp=None, key=None, reverse=False)
# 參數(shù)說明:
#
# iterable -- 可迭代對象。
# cmp -- 比較的函數(shù),這個具有兩個參數(shù),參數(shù)的值都是從可迭代對象中取出,此函數(shù)必須遵守的規(guī)則為,大于則返回1,小于則返回-1,等于則返回0。
# key -- 主要是用來進(jìn)行比較的元素,只有一個參數(shù),具體的函數(shù)的參數(shù)就是取自于可迭代對象中,指定可迭代對象中的一個元素來進(jìn)行排序。
# reverse -- 排序規(guī)則,reverse = True 降序 , reverse = False 升序(默認(rèn))。
# 返回值
# 返回重新排序的列表。
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)]
復(fù)制代碼
反轉(zhuǎn)列表元素
# reverse() 永久性地修改列表元素排列順序
# reverse() 函數(shù)用于反向列表中元素。
#
# 語法
# reverse()方法語法:
#
# list.reverse()
# 參數(shù)
# 沒有參數(shù)
# 返回值
# 該方法沒有返回值,但是會對列表的元素進(jìn)行反向排序。
arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]
# 將列表元素反轉(zhuǎn)
arr.reverse()
print(arr)
# 控制臺輸出 [9, 8, 7, 6, 5, 4, 3, 2, 1]
# 回復(fù)原來的排列順序, 在調(diào)用一次reverse()
arr.reverse()
print(arr)
# 控制臺輸出 [1, 2, 3, 4, 5, 6, 7, 8, 9]
復(fù)制代碼
列表的長度
# len()
# Python len() 方法返回對象(字符、列表、元組等)長度或項目個數(shù)。
#
# 語法
# len()方法語法:
#
# len( s )
# 參數(shù)
# s -- 對象。
# 返回值
# 返回對象長度。
arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(len(arr))
# 控制臺輸出 9
Str = '444444444444444444'
print(len(Str))
# 控制臺輸出 18
復(fù)制代碼
復(fù)制列表
copy()
# copy()
# copy() 函數(shù)用于復(fù)制列表,類似于 a[:]。
#
# 語法
# copy()方法語法:
#
# list.copy()
# 參數(shù)
# 無。
# 返回值
# 返回復(fù)制后的新列表。
arr = ['aaa', 'bbb', 'ccc']
arr2 = arr.copy()
print(arr2)
# 控制臺輸出 ['aaa', 'bbb', 'ccc']
復(fù)制代碼
加油哦!!!
這里多說一句,小編是一名python開發(fā)工程師,這里有我自己整理了一套最新的python系統(tǒng)學(xué)習(xí)教程,包括從基礎(chǔ)的python腳本到web開發(fā)、爬蟲、數(shù)據(jù)分析、數(shù)據(jù)可視化、機器學(xué)習(xí)等。想要這些資料的可以進(jìn)裙930900780領(lǐng)取。
本文章素材來源于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系刪除。