Python基礎學習05 列表

2021-10-10 06:18:20 字數 4183 閱讀 1795

如果想要刪除列表中的元素,有5種常見的方式:

l = [3, 4, 5, 6, 5, 7]

l.remove(4)

print(l) # [3, 5, 6, 5, 7]

# 如果列表中存在多個指定元素,只刪除第1個指定元素

l.remove(5)

print(l) # [3, 6, 5, 7]

# 如果要刪除的元素在列表中不存在,丟擲 valueerror

l.remove(8) # valueerror: list.remove(x): x not in list

l = [3, 4, 5, 6, 7]

print(l.pop(2)) # 5

print(l) # [3, 4, 6, 7]

# 如果不指定索引,預設刪除列表中最後乙個元素

print(l.pop()) # 7

print(l) # [3, 4, 6]

# 如果指定的索引在列表中不存在,丟擲 indexerror

l.pop(8) # indexerror: pop index out of range

l = [3, 4, 5, 6, 7, 8, 9]

del l[2]

print(l) # [3, 4, 6, 7, 8, 9]

del l[1:4]

print(l) # [3, 8, 9]

l = [3, 4, 5, 6, 7, 8, 9]

l[2:3] =

print(l) # [3, 4, 6, 7, 8, 9]

l[1:4] =

print(l) # [3, 8, 9]

l[:] =

print(l) #

l = [3, 4, 5, 6, 7, 8, 9]

l.clear()

print(l) #

l1 = [1, 2, 3]

l2 = [4, 5, 6]

l3 = l1 + l2

print(l3) # [1, 2, 3, 4, 5, 6]

print(l2) # [4, 5, 6]

print(l1) # [1, 2, 3]

l1 = l2 = [1, 2]

l1 = l1 + [3, 4]

print(l1, l2) # [1, 2, 3, 4] [1, 2]

# 引數賦值運算子 += 會對列表本身進行修改

l1 = l2 = [1, 2]

l1 += [3, 4]

print(l1, l2) # [1, 2, 3, 4] [1, 2, 3, 4]

# 可以使用乘法運算子將列表中的所有元素重複n次後重複n次後生成乙個新列表,被乘的列表不發生任何變化

l1 = [1, 2, 3]

l = l1 * 3

print(l, l1) # [1, 2, 3, 1, 2, 3, 1, 2, 3] [1, 2, 3]

# 常用於列表的初始化

l = [0] * 5

print(l) # [0, 0, 0, 0, 0]

# 引數賦值運算子 *= 會對列表本身進行修改

l1 = l2 = [1, 2]

l1 = l1 * 3

print(l1, l2) # [1, 2, 1, 2, 1, 2] [1, 2]

l1 = l2 = [1, 2]

l1 *= 3

print(l1, l2) # [1, 2, 1, 2, 1, 2] [1, 2, 1, 2, 1, 2]

>、>=、<、<=、==、!=、is(== 是「相等性」比較,is 是「同一性」比較)

print([2, 3, 8, 6, 7] < [2, 3, 9, 5, 1]) # true

print([7, [2, 6]] > [7, [2, 5]]) # true

a = b = [1, 2, 3]

c = [1, 2, 3]

print(a == b) # true

print(a == c) # true

print(a is b) # true

print(a is c) # false

如果想對列表中的所有元素進行反轉,常見的方式有兩種

l = [1, 2, 3, 4, 5]

l.reverse()

print(l) # [5, 4, 3, 2, 1]

內建函式 reversed 的返回值是乙個迭代器物件,且被反轉的列表不發生變化

l = [1, 2, 3, 4, 5]

iterator = reversed(l)

print(iterator) # print(list(iterator)) # [5, 4, 3, 2, 1]

print(l) # [1, 2, 3, 4, 5]

如果想對列表中的所有元素進行排序,常見的方式有兩種

l = [5, 3, 8, 1, 6]

# 呼叫方法sort,預設按照從小到大

l.sort()

print(l) # [1, 3, 5, 6, 8]

# 可以指定引數 reverse=true,從而按照逆序排列

l.sort(reverse=true)

print(l) # [8, 6, 5, 3, 1]

內建函式 sorted 的返回值是排序後生產的新列表,且被排序的列表不發生變化

l = [5, 3, 8, 1, 6]

print(sorted(l)) # [1, 3, 5, 6, 8]

print(l) # [5, 3, 8, 1, 6]

# 可以指定引數 reverse=true,從而按照逆序排列

print(sorted(l, reverse=true)) # [8, 6, 5, 3, 1]

print(l) # [5, 3, 8, 1, 6]

當列表中的元素也是列表時,就構成了多維列表。例如:當列表中的元素是一維列表時,就構成了二維列表;當列表中的元素是二維列表時,就構成了三維列表。因此,可以把多維列表看作是特殊的一維列表

l = [[3, 4], [1, 5, 2], [6, 8, 9, 7]]

print(l[2][1]) # 8

l[1] = 9

print(l) # [[3, 4], 9, [6, 8, 9, 7]]

print(l) # [[3, 4], 9, [6, 8, 9, 7], [2, 0]]

print(l.pop(2)) # [6, 8, 9, 7]

print(l) # [[3, 4], 9, [2, 0]]

print([0] * 3)              # [0, 0, 0]

print([[0] * 3] * 4) # [[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]]

print([0 for i in range(3)]) # [0, 0, 0]

print([[0 for i in range(3)] for j in range(4)]) # [[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]]

print([[0 for i in range(3)]] * 4) # [[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]]

Python基礎學習05 列表

2.列表 list 3.通用操作 4.修改列表 5.列表的方法 6.遍歷列表 insert arg1,arg2 像列表指定位置插 個元素 引數1 要插 的位置 引數2 要插 的元素 extend iterable 使 個新的序列來擴充套件當前序列 它會將該序列的中元素新增到列表中 引數需要傳遞 個序...

Python學習 Python基礎 六 列表

2 列表 list 3 通用操作 4 修改列表 5 列表的方法 6 遍歷列表 從未接觸過 和論壇部落格的超級小白一枚,最近在學習python,把從頭開始學到的東西都記錄在這裡,當做自己的成長記錄,希望可以慢慢成長起來!加油!v 步長表示每次獲取元素的間隔,預設是1 可以省略不寫 步長不能是0,但可以...

MFC學習筆記05 列表控制項

新增工具箱中的 list control 屬性view中修改為report模式,設定變數。設定表頭內容 在初始化函式中cstring str 表頭內容填入控制項中for int i 0 i 3 i 新增正文 設定正文 表頭不算正文的內容,索引從0開始 n list.insertitem 0 text...