首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 更多程式設計知識

Python 核心資料類型深度解析:字串、列表、字典、元組、集合

     編輯:更多程式設計知識

Python 五大核心資料結構——字串、列表、字典、元組、集合——是編寫高效程式的基石。本文系統整理其建立、存取、修改、運算與最佳實踐,並對比相互轉換與適用場景。

基礎標量類型

  • int:任意精度整數
  • float:雙精度浮點數(15 位有效數字)
  • bool:True/False,非零為真

數值運算符

數學模組


import math, fractions
fractions.Fraction(1,3)  # 精確分數 1/3
math.sin(math.pi/2)      # 1.0
math.tan(math.pi/4)      # 0.999...

列表 - 可變有序序列

建立與切片


a_list = ['a', 'b', 'mpilgrim', 'z', 'example']
a_list[-1]        # 'example'
a_list[1:3]       # ['b', 'mpilgrim']
a_list[:3]        # 前三個
a_list[3:]        # 從第4個到結束
a_list[:]         # 淺拷貝(新列表,相同元素)

新增元素


a_list = ['a']
a_list + [2.0, 3]        # 合併產生新列表
a_list.append(True)      # 尾端新增單一元素
a_list.extend(['four'])  # 尾端批次新增
a_list.insert(0, 'Ω')    # 指定位置插入

查詢與移除


a_list.count('new')      # 計數
'new' in a_list          # 成員測試
a_list.index('new')      # 首次出現索引
del a_list[1]            # 刪除指定索引
a_list.remove('new')     # 刪除首個匹配值
a_list.pop()             # 彈出並回傳最後元素
a_list.pop(0)            # 彈出並回傳首個元素

元組 - 不可變有序序列


a_tuple = ("a", "b", "mpilgrim", "z", "example")
# 僅支援索引、切片、in、count、index
# 不支援 append、remove、assign

元組優勢

  1. 速度較列表快
  2. 「寫保護」更安全
  3. 可作字典鍵(需元素皆不可變)

互轉與解包


tuple(a_list)   # 列表轉元組
list(a_tuple)   # 元組轉列表
(x, y, z) = ('a', 2, True)  # 序列解包
(Monday, ..., Sunday) = range(7)  # 連續賦值

集合 - 無序唯一元素容器

建立與基本操作


a_set = {1, 2, 3}        # 字面量建立
a_set = set(a_list)      # 從列表建立(自動去重)
a_set.add(4)             # 新增單一元素
a_set.update({5,6})      # 批次新增
a_set.discard(4)         # 移除(不存在不報錯)
a_set.remove(4)          # 移除(不存在拋異常)
a_set.pop()              # 隨機彈出元素
a_set.clear()            # 清空

集合運算


a_set = {2,3,4,5,6,8,9,13}
b_set = {3,4,10,12}
a_set.union(b_set)                    # 並集
a_set.intersection(b_set)             # 交集
a_set.difference(b_set)               # 差集 (a-b)
a_set.symmetric_difference(b_set)     # 對稱差集
a_set.issubset(b_set)                 # 子集判斷
b_set.issuperset(a_set)               # 超集判斷

字典 - 鍵值對無序映射

建立與存取


a_dic = {'server': 'db.example.org', 'database': 'mysql'}
a_dic['server']           # 取值
a_dic['user'] = 'mark'    # 新增/更新
a_dic['User'] = 'mark'    # 大小寫敏感,不同鍵

巢狀與混合值


suffixes = {
    1000: ['KB','MB','GB','TB'],
    1024: ['KiB','MiB','GiB','TiB']
}
suffixes[1024][2]  # 'GiB'

布爾語境

空容器([], {}, (), set(), '')為 False,非空為 True。

類型選擇指南

運算符說明範例
/浮點除法11/5 = 2.2
//地板除11//5=2, -11//5=-3
**冪運算11**2=121
%取餘11%5=1
需求推薦類型
頻繁增刪、有序列表
固定資料、需當鍵、追求速度元組
去重、集合運算、成員測試集合
鍵值查找、結構化資料字典
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved