1. 程式人生 > >python3 列表操作

python3 列表操作

put 獲取 發現 普通 remove cte 排序 影響 inpu

- 創建列表

#創建列表:

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

- 向列表中添加元素

  - append

# 向列表中添加元素:

list1 = [1, 2, 3, 4, 5]
list1.append(6)
list1

[1, 2, 3, 4, 5, 6]
# 使用append向列表中添加多個元素

list1 = [1, 2, 3, 4, 5]
list1.append(6, 7)
list1

 File "<ipython-input-7-12eec7711550>", line 4
    list1.append(
6, 7) ^ SyntaxError: invalid character in identifier
# 這裏發現無法使用append添加多個元素,所以需要下面的extend

  - extend

# 向列表中增加列表內容:

list1 = [1, 2, 3, 4, 5]
list1.extend([6, 7, 8]) # 註意這裏追加的是一個列表
print(list1)

[1, 2, 3, 4, 5, 6, 7, 8]

- 從列表中獲取元素

  - 單層列表元素的獲取

# 獲取單層列表中的元素

list1 
= [1, 2, 3, 4, 5] list1[0] 1

  - 雙層列表元素的獲取

# 獲取雙層列表中的元素

list1 = [1, 2, 3, 4, [5, 6]]

list1[4][0]

5

- 從列表中刪除元素

  - remove

# 使用remove搜索第一個該元素並刪除

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

list1.remove(2)
list1

[1, 3, 4, 5]

  - pop

# 使用pop彈出元素,如果不指定默認彈出最後一個元素

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

list1.pop(
1) list1 [1, 3, 4, 5]

  - del

# 使用del刪除指定下標元素

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

del list1[1]
list1

[1, 3, 4, 5]

- 列表的分片

  - 普通分片

# 普通分片
# 註意左邊的下標從0開始,右邊的下標=下標值 - 1
list1 = [1, 2, 3, 4, 5]

print(list1[1:5])

[2, 3, 4, 5]

  - 高級分片

    - 間隔分片

# 間隔分片

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

list2 = list1[0:5:2]
print(list2)

[1, 3, 5]

    - 翻轉分片

# 翻轉分片

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

list3 = list1[::-1]
print(list3)

[5, 4, 3, 2, 1]

- 列表元素的插入

# 列表中元素的插入

list1 = [1, 3, 4, 5]

list1.insert(1, 2)

print(list1)

[1, 2, 3, 4, 5]

- 列表成員操作符

# 成員操作符

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

print(6 in list1)
print(5 in list1)

False
True

- 列表元素的計數

# 列表元素計數

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

count1 = list1.count(3)
print(count1)

3

- 列表元素的翻轉

# 列表中元素的翻轉

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

list1.reverse()
print(list1)

[5, 4, 3, 2, 1]

- 列表元素的排序

# 列表中元素的排序(默認為從小到大)

list_A = [5, 4, 3, 2, 1]
list_B = [1, 2, 3, 4, 5]

list_A.sort()
list_B.sort(reverse=True)
print(list_A)
print(list_B)

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

- 顯示列表元素下標

# 顯示列表中第一個該元素的下標

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

print(list1.index(3))

2

- 關於列表分片的補充

# 關於列表的切片其實是復制此列表產生新列表
# 如果只是簡單的基於列表的指向,則修改B列表會影響A列表本身
# 如果是基於切片復制的,則修改此列表並不會對原列表產生影響

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

list2 = list1[:]
list3 = list1

list2.reverse()

print(list1)
print(list2)
print(list3)

print(id(list1))
print(id(list2))
print(id(list3))

[1, 2, 3, 4, 5]
[5, 4, 3, 2, 1]
[1, 2, 3, 4, 5]
4350409736
4351221640
4350409736

python3 列表操作