最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python中四大核心數(shù)據(jù)結(jié)構(gòu)(列表,元組,字典和集合)的完全解析

 更新時間:2025年10月24日 09:46:24   作者:道之極萬物滅  
這篇文章主要為大家詳細介紹了Python中四大核心數(shù)據(jù)結(jié)構(gòu)的相關(guān)知識,即列表,元組,字典和集合,文中的示例代碼講解詳細,有需要的小伙伴可以了解下

一、列表(List)—— 靈活的動態(tài)數(shù)組

1.1 基礎(chǔ)操作全流程示例

# 創(chuàng)建-操作-輸出完整演示
# 初始化商品列表
products = ["手機", "筆記本", "耳機", "鼠標"]

print("原始列表:", products)  # ['手機', '筆記本', '耳機', '鼠標']

# 索引訪問與切片
print("首個商品:", products[0])      # 手機
print("最后兩個商品:", products[-2:]) # ['耳機', '鼠標']

# 元素修改與擴展
products[1] = "游戲本"             # 修改元素
products.append("鍵盤")           # 追加元素
products.insert(2, "顯示器")      # 插入元素

print("修改后列表:", products)    # ['手機', '游戲本', '顯示器', '耳機', '鼠標', '鍵盤']

# 刪除操作
removed_item = products.pop(3)    # 刪除索引3的元素
print("被刪除商品:", removed_item) # 耳機
print("當前列表:", products)      # ['手機', '游戲本', '顯示器', '鼠標', '鍵盤']

1.2 核心方法詳解

# 創(chuàng)建數(shù)字列表
nums = [3, 1, 4, 1, 5, 9]

# 排序與反轉(zhuǎn)
nums.sort()                     # 升序排列 [1, 1, 3, 4, 5, 9]
nums.reverse()                  # 反轉(zhuǎn)列表 [9, 5, 4, 3, 1, 1]

# 列表推導式
squares = [x**2 for x in nums if x > 3]
print("大數(shù)平方:", squares)     # [81, 25, 16]

# 其他實用方法
print("出現(xiàn)次數(shù):", nums.count(1))  # 2
nums.clear()                    # 清空列表

二、元組(Tuple)—— 不可變數(shù)據(jù)容器

完整操作示例

# 定義-訪問-解包全流程
# 創(chuàng)建坐標元組
point = (10, 20)

# 索引訪問
print("X坐標:", point[0])    # 10
print("Y坐標:", point[1])    # 20

# 元組解包
x, y = point
print(f"坐標位置: ({x}, {y})")  # (10, 20)

# 類型轉(zhuǎn)換示例
list_point = list(point)      # 轉(zhuǎn)為列表可修改
list_point[0] += 5
new_point = tuple(list_point)
print("新坐標:", new_point)   # (15, 20)

# 函數(shù)返回多個值
def get_dimensions():
    return 1920, 1080

width, height = get_dimensions()
print(f"分辨率: {width}x{height}")

三、字典(Dict)—— 高效鍵值存儲

3.1 完整操作流程

# 創(chuàng)建-更新-遍歷完整示例
# 初始化學生信息
student = {
    "name": "張三",
    "age": 18,
    "courses": ["數(shù)學", "英語"]
}

# 添加新信息
student["gender"] = "男"
student["age"] = 19          # 修改年齡

# 安全獲取值
score = student.get("score", 0)
print("默認分數(shù):", score)    # 0

# 刪除元素
removed = student.pop("courses")
print("已刪除課程:", removed) # ['數(shù)學', '英語']

# 遍歷字典
print("\n學生詳細信息:")
for key, value in student.items():
    print(f"{key}: {value}")

"""
輸出:
學生詳細信息:
name: 張三
age: 19
gender: 男
"""

3.2 進階方法應(yīng)用

# 字典合并與推導式
grades = {"數(shù)學": 90, "英語": 85}
extra_grades = {"編程": 95, "物理": 88}

# 合并字典
grades.update(extra_grades)

# 字典推導式
passed = {subject: score for subject, score in grades.items() if score >= 85}
print("及格科目:", passed)  # {'數(shù)學':90, '英語':85, '編程':95, '物理':88}

# 鍵值反轉(zhuǎn)
inverted_dict = {v: k for k, v in grades.items()}
print("分數(shù)對照:", inverted_dict)  # {90: '數(shù)學', 85: '英語', ...}

四、集合(Set)—— 唯一元素管理器

完整操作示例

# 創(chuàng)建-運算-方法全流程
# 初始化集合
A = {1, 2, 3, 4}
B = {3, 4, 5, 6}

print("原始集合A:", A)  # {1,2,3,4}
print("原始集合B:", B)  # {3,4,5,6}

# 集合運算
print("并集:", A | B)   # {1,2,3,4,5,6}
print("差集:", A - B)   # {1,2}
print("對稱差集:", A ^ B) # {1,2,5,6}

# 元素操作
A.add(5)                # 添加元素
A.discard(2)            # 安全刪除
print("更新后A:", A)    # {1,3,4,5}

# 集合推導式
even_numbers = {x for x in range(10) if x%2 == 0}
print("偶數(shù)集合:", even_numbers)  # {0,2,4,6,8}

五、四大數(shù)據(jù)結(jié)構(gòu)方法速查表

O(1) :操作耗時與數(shù)據(jù)量無關(guān)

O(n):操作耗時與數(shù)據(jù)量成正比

操作列表方法元組特性字典方法集合方法
添加元素append/insert不可變dict[key] = valueadd/update
刪除元素pop/remove不可變pop/delremove/discard
排序sort()sorted()sorted(items)sorted()
反轉(zhuǎn)reverse()需轉(zhuǎn)換列表reversed()需轉(zhuǎn)換列表
長度查詢len()len()len()len()
包含檢查ininin (keys)in
內(nèi)存占用較高較低較高中等
時間復雜度查詢O(n)查詢O(n)查詢O(1)查詢O(1)

六、實戰(zhàn)應(yīng)用案例

數(shù)據(jù)清洗工具函數(shù)

def data_cleaner(raw_data):
    # 列表存儲有效數(shù)據(jù)
    cleaned = []
    
    # 集合記錄已處理項
    seen = set()
    
    # 字典統(tǒng)計頻率
    counter = {}
    
    for item in raw_data:
        # 去重處理
        if item not in seen:
            cleaned.append(item)
            seen.add(item)
        
        # 統(tǒng)計頻率
        counter[item] = counter.get(item, 0) + 1
    
    # 元組保存元信息
    meta = (len(raw_data), len(cleaned))
    
    return {
        "cleaned_data": cleaned,
        "frequency": counter,
        "metadata": meta
    }

# 測試數(shù)據(jù)
test_data = ["A", "B", "A", "C", "B", "D"]
result = data_cleaner(test_data)
print(result)
"""
輸出:
{
    'cleaned_data': ['A', 'B', 'C', 'D'],
    'frequency': {'A':2, 'B':2, 'C':1, 'D':1},
    'metadata': (6, 4)
}
"""

最佳實踐指南

數(shù)據(jù)結(jié)構(gòu)選擇原則

  • 需要保持順序 → 列表/有序字典
  • 快速查找 → 字典/集合
  • 數(shù)據(jù)不可變 → 元組
  • 元素唯一性 → 集合

性能優(yōu)化技巧

  • 列表在尾部操作的效率最高(append/pop)
  • 字典鍵應(yīng)盡量使用不可變類型
  • 集合運算比手動去重效率更高

代碼可讀性建議

  • 使用類型提示:def process(items: list[str]) -> dict:
  • 復雜結(jié)構(gòu)添加注釋說明
  • 優(yōu)先使用內(nèi)置方法而非手動實現(xiàn)

常見陷阱規(guī)避

  • 避免在循環(huán)中修改列表長度
  • 字典鍵不存在時使用get()方法
  • 注意集合的無序特性

掌握這些核心數(shù)據(jù)結(jié)構(gòu)的特性和使用場景,將顯著提升Python編程效率。建議讀者在實際開發(fā)中多嘗試不同結(jié)構(gòu)的組合應(yīng)用,例如使用字典列表存儲表格數(shù)據(jù),或通過集合運算進行高效去重。

到此這篇關(guān)于Python中四大核心數(shù)據(jù)結(jié)構(gòu)(列表,元組,字典和集合)的完全解析的文章就介紹到這了,更多相關(guān)Python數(shù)據(jù)結(jié)構(gòu)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python安裝opencv的實現(xiàn)過程解讀

    python安裝opencv的實現(xiàn)過程解讀

    在Anaconda下創(chuàng)建Python 3.6虛擬環(huán)境并安裝OpenCV,包括安裝opencv-python和opencv-contrib-python,確保import cv2成功運行
    2025-12-12
  • Pandas之缺失數(shù)據(jù)的實現(xiàn)

    Pandas之缺失數(shù)據(jù)的實現(xiàn)

    這篇文章主要介紹了Pandas之缺失數(shù)據(jù)的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-01-01
  • python基于socket進行端口轉(zhuǎn)發(fā)實現(xiàn)后門隱藏的示例

    python基于socket進行端口轉(zhuǎn)發(fā)實現(xiàn)后門隱藏的示例

    今天小編就為大家分享一篇python基于socket進行端口轉(zhuǎn)發(fā)實現(xiàn)后門隱藏的示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • Python matplotlib 動畫繪制詳情

    Python matplotlib 動畫繪制詳情

    這篇文章主要介紹了Python matplotlib 動畫繪制,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,感興趣的小伙伴可以參考一下
    2022-09-09
  • TF-IDF算法解析與Python實現(xiàn)方法詳解

    TF-IDF算法解析與Python實現(xiàn)方法詳解

    這篇文章主要介紹了TF-IDF算法解析與Python實現(xiàn)方法詳解,文章介紹了tf-idf算法的主要思想,分享了Python實現(xiàn)tr-idf算法所必要的預處理過程,以及具體實現(xiàn)代碼等相關(guān)內(nèi)容,具有一定參考價值,需要的朋友可以了解下。
    2017-11-11
  • Python 函數(shù)繪圖及函數(shù)圖像微分與積分

    Python 函數(shù)繪圖及函數(shù)圖像微分與積分

    今天小編就為大家分享一篇Python 函數(shù)繪圖及函數(shù)圖像微分與積分,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • 淺析Python如何計算圖片的MD5值

    淺析Python如何計算圖片的MD5值

    MD5作為圖片的指紋,可用于文件校驗、緩存管理和爬蟲去重等場景,本文介紹了三種計算圖片MD5值的方法,并提供了完整的圖片去重方案,有需要的小伙伴可以了解下
    2026-05-05
  • Python使用random.shuffle()打亂列表順序的方法

    Python使用random.shuffle()打亂列表順序的方法

    今天小編就為大家分享一篇Python使用random.shuffle()打亂列表順序的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-11-11
  • 基于PyQt5實現(xiàn)圖轉(zhuǎn)文功能(示例代碼)

    基于PyQt5實現(xiàn)圖轉(zhuǎn)文功能(示例代碼)

    PyQt提供了一個設(shè)計良好的窗口控件集合,具有更方便的操作性。學過VB的同學會知道,相比與VB的使用,在界面設(shè)計上元素更豐富,這篇文章主要介紹了基于PyQt5完成的圖轉(zhuǎn)文功能,需要的朋友可以參考下
    2022-06-06
  • Python?pass函數(shù)使用及其應(yīng)用的詳解

    Python?pass函數(shù)使用及其應(yīng)用的詳解

    Python中,pass是一種空語句,即不做任何事情,只起到占位符的作用,本文主要介紹了Python?pass函數(shù)使用及其應(yīng)用的詳解,文中通過示例代碼介紹的非常詳細,需要的朋友們下面隨著小編來一起學習學習吧
    2023-07-07

最新評論

兴城市| 蓬溪县| 进贤县| 冕宁县| 札达县| 临潭县| 威海市| 通城县| 沐川县| 栖霞市| 双峰县| 象山县| 裕民县| 海丰县| 邹城市| 苏尼特左旗| 临朐县| 贵南县| 聊城市| 奉化市| 会东县| 勐海县| 准格尔旗| 康定县| 黎城县| 邳州市| 金门县| 远安县| 济宁市| 三门县| 永定县| 罗源县| 军事| 旅游| 东至县| 饶阳县| 大兴区| 万载县| 二连浩特市| 宜都市| 托克逊县|