1. 程式人生 > >python基礎語法總結(四)-- list列表

python基礎語法總結(四)-- list列表

python常用系統函式方法與模組

python基礎語法總結(一)-- python型別轉換函式+檔案讀寫

python基礎語法總結(二)-- 函式function

python基礎語法總結(三)-- 數與字串

python基礎語法總結(四)-- list列表

python基礎語法總結(五)-- 字典dic + 元組tuple

python基礎語法總結(六)-- python類與OOP面向物件特性


目錄

一. 列表List

二. 基本操作

1. 讀取get

2. 修改

3. 新增(list結尾)

4.  插入(任意位置)

5. 刪除

6. 清空

7. 陣列越界避免

三. 複雜方法

1. 列表長度 

2. 列表反向

3. 遍歷 

4. 排序

5. 建立數字列表 

6. 建立列表副本

7. 判斷最大最小值


一. 列表List

list是python中最常用的資料格式,list以[item1,item2,...]定義,以list[i]讀取。list列表中的元素可變

'''
list列表,其中的元素可變
'''
l1 = [1,2,3,4,5,6]      # 宣告一個list列表,並賦值

二. 基本操作

1. 讀取get

# 讀取
print(l1[0])            # 得到列表中的某一項,語法list[i],索引以0開始

2. 修改

# 修改
l1[2] = 8               # 修改第三項,由3改為8
print(l1[2])            # 列印結果為8

3. 新增(list結尾)

# 新增(在list後附加)
l1.append(9)            # 在list後新增一項:9
print(l1)               # [1, 2, 8, 4, 5, 6, 9],可以看到添加了一項

4.  插入(任意位置)

# 插入(在list中任何位置新增新元素)
l1.insert(1,23)         # 在第二項處新增一項 23,原已有的元素都向右移一個位置
print(l1)               # [1, 23, 2, 8, 4, 5, 6, 9]

5. 刪除

# 刪除
del l1[2]               # 刪除第三個元素 2
print(l1)               # [1, 23, 8, 4, 5, 6, 9], 原先的第三個元素"2"被刪除

# 刪除(同時得到此元素)
item = l1.pop(4)        #
print(l1)               # [1, 23, 8, 4, 6, 9]
print(item)             # 已刪除的元素“5”儲存在item裡

# 刪除(根據值)
l1.remove(23)           # 刪除已有項“23”,注意只刪除第一個匹配項,如果其中有多個“23”,也只刪除第一個
print(l1)               # [1, 8, 4, 6, 9]

6. 清空

# 清空
l1.clear()

7. 陣列越界避免

# 陣列越界避免
l1[7]                   # 因為l2長度為7 ,所以取第八項時,會報陣列越界
l1[-1]                  # 為避免陣列遍歷或者從後向前讀取時易出現的越界問題,python支援用-號從右向左讀
                            # 從-1開始,依次向左偏移讀取,本例:'a'

 

三. 複雜方法

1. 列表長度 

# 列表長度
len(l1)                 # 得到列表的總長度,本例:6

2. 列表反向

# 列表反向
l2.reverse()            # 列表反向,修改原list
print(l2)               # ['f', 'g', 'd', 'b', 'c', 'e', 'a']

3. 遍歷 

# 遍歷整個列表
for item in l2:
    print(item)

4. 排序

  • 永久排序sort()
  • 臨時排序sorted()
# 永久性排序sort(), 原list順序會改變
l1.sort()
print(l1)               # [1, 4, 6, 8, 9]   已排序,原l1發生改變

# 臨時排序sorted(), 返回排序好的新list,原list順序不變
l2 = ['a','e','c','b','d','g','f']
temp_list = sorted(l2)
print(temp_list)        # 排序結果['a', 'b', 'c', 'd', 'e', 'f', 'g']
print(l2)               # l2本身並沒有變化,還是['a', 'e', 'c', 'b', 'd', 'g', 'f']
temp_list_reverse = sorted(l2, reverse=True)    # 反向排序
print(temp_list_reverse)        #['g', 'f', 'e', 'd', 'c', 'b', 'a']

5. 建立數字列表 

# 建立數值列表
l3 = list(range(1,5))       # l3: [1, 2, 3, 4]
l4 = list(range(2,15,3))    # 指定步長為3, l4:[2, 5, 8, 11, 14]
# 語法糖,建立1到4的平方的列表
squares = [value ** 2 for value in range(1,5)]          # squares:[1, 4, 9, 16]

6. 建立列表副本

# 建立副本
duplicate_sq = squares[:]       # 複製,真正的建立了副本,不同於duplicate_sq = squares簡單的引用
squares[2] = 1                  # 修改第三項為1
print(squares)                  # [1, 4, 1, 16]
print(duplicate_sq)             # [1, 4, 9, 16]

7. 判斷最大最小值

# 判斷最大、最小值
l1 = [1,2,3,5]
max(l1)         #求最大值,本例:5
max(2,5,6,7)        #本例:7
min(l1)         #求最小值,本例:1