03_數據結構

第3課:數據結構

課程目標

  • 掌握Python的基本數據結構:列表、元組、字典、集合
  • 學習字符串的高級操作方法
  • 理解不同數據結構的特點和適用場景

1. 列表(List)

1.1 列表的創建和基本操作

# 創建列表
fruits = ["蘋果", "香蕉", "橙子"]
numbers = [1, 2, 3, 4, 5]# 列表索引(從0開始)
print(fruits[0])      # 蘋果
print(fruits[-1])     # 橙子(最后一個元素)# 列表切片
print(fruits[1:3])    # ['香蕉', '橙子']
print(fruits[:2])     # ['蘋果', '香蕉']

1.2 列表的常用方法

fruits = ["蘋果", "香蕉", "橙子"]# 添加元素
fruits.append("葡萄")           # 在末尾添加
fruits.insert(1, "梨子")       # 在指定位置插入# 刪除元素
removed = fruits.pop()          # 刪除并返回最后一個元素
fruits.remove("香蕉")           # 刪除指定元素# 排序
fruits.sort()                   # 升序排序
fruits.reverse()                # 反轉列表

2. 元組(Tuple)

2.1 元組的特點和創建

# 元組是不可變的列表
coordinates = (10, 20)
person = ("張三", 25, "北京")# 元組解包
x, y = coordinates
name, age, city = person
print(f"{name}今年{age}歲,住在{city}")

3. 字典(Dictionary)

3.1 字典的創建和基本操作

# 創建字典
student = {"name": "張三","age": 20,"grades": [85, 90, 88]
}# 訪問元素
print(student["name"])           # 張三
print(student.get("age"))        # 20# 添加和修改元素
student["phone"] = "13800138000"
student["age"] = 21

4. 集合(Set)

4.1 集合的特點和創建

# 集合是無序、不重復的元素集合
fruits_set = {"蘋果", "香蕉", "橙子", "蘋果"}
numbers_set = {1, 2, 3, 4, 5}# 集合運算
set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7, 8}union = set1 | set2              # 并集
intersection = set1 & set2       # 交集
difference = set1 - set2         # 差集

5. 字符串的高級操作

5.1 字符串方法

text = "  Hello, World!  "# 大小寫轉換
print(text.upper())      # "  HELLO, WORLD!  "
print(text.lower())      # "  hello, world!  "# 去除空白
print(text.strip())      # "Hello, World!"# 查找和替換
print(text.find("World"))        # 8
print(text.replace("World", "Python"))

6. 練習項目

項目:學生成績管理系統

print("=== 學生成績管理系統 ===")students = {}while True:print("\n請選擇操作:")print("1. 添加學生")print("2. 錄入成績")print("3. 查詢成績")print("4. 退出")choice = input("請輸入選擇(1-4):")if choice == "1":student_id = input("請輸入學號:")name = input("請輸入姓名:")age = int(input("請輸入年齡:"))students[student_id] = {"name": name,"age": age,"grades": {}}print("學生添加成功!")elif choice == "2":student_id = input("請輸入學號:")if student_id in students:subject = input("請輸入科目:")score = float(input("請輸入成績:"))students[student_id]["grades"][subject] = scoreprint("成績錄入成功!")else:print("學號不存在!")elif choice == "3":student_id = input("請輸入學號:")if student_id in students:student = students[student_id]print(f"\n學生信息:{student['name']},年齡:{student['age']}")if student['grades']:print("成績:")for subject, score in student['grades'].items():print(f"  {subject}: {score}")else:print("暫無成績記錄")else:print("學號不存在!")elif choice == "4":print("感謝使用!")breakelse:print("無效選擇,請重新輸入!")

7. 總結

本節課我們學習了:

  • 列表的創建、操作和常用方法
  • 元組的特點和不可變性
  • 字典的鍵值對結構和操作
  • 集合的無序性和去重特性
  • 字符串的高級操作方法

8. 下節課預告

下節課我們將學習:

  • 函數的定義和調用
  • 參數傳遞和返回值
  • 作用域和命名空間

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/94309.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/94309.shtml
英文地址,請注明出處:http://en.pswp.cn/web/94309.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【JavaEE】多線程 -- CAS機制(比較并交換)

目錄CAS是什么CAS的應用實現原子類實現自旋鎖ABA問題ABA問題概述ABA問題引起的BUG解決方案CAS是什么 CAS (compare and swap) 比較并交換,CAS 是物理層次支持程序的原子操作。說起原子性,這就設計到線程安全問題,在代碼的層面為了解決多線程…

The United Nations Is Already Dead

The United Nations Is Already Dead When children in Gaza rummage through rubble for food, when UN-run schools are reduced to dust, when the Security Council cannot even pass the mildest ceasefire resolution—blocked by a single veto— we must confront a br…

Kubernetes v1.34 前瞻:資源管理、安全與可觀測性的全面進化

預計正式發布:2025年8月底 | 分類:Kubernetes 隨著2025年8月底的臨近,Kubernetes社區正緊鑼密鼓地準備下一個重要版本——v1.34的發布。本次更新并非簡單的功能疊加,而是在資源管理、安全身份、可觀測性和工作負載控制等核心領域的…

用 Bright Data MCP Server 構建實時數據驅動的 AI 情報系統:從市場調研到技術追蹤的自動化實戰

前言 本文通過兩個真實場景(云服務商對比與 AIGC 技術追蹤),展示了如何使用 Bright Data MCP Server 與 Lingma IDE 構建一個具備實時網頁數據抓取、結構化分析與自動化報告生成能力的 AI 工作流。通過簡單的 API 調用與 JSON 配置&#xff…

牛頓第二定律的所有表達方式:1、線性表達 2、圓形表達 3、雙曲線表達 4、拋物線表達5、數列表達

牛頓第二定律是經典力學中的核心定律,表述為:物體的加速度與所受合力成正比,與質量成反比,方向與合力方向相同。其基本矢量形式為: F?ma? \vec{F} m \vec{a} Fma 其中,F?\vec{F}F 是合力(單…

【開發日記】SpringBoot 實現支持多個微信小程序的登錄

在實際業務場景中,需要一個后臺同時支持多個微信小程序的登錄。例如,企業有多個不同業務的小程序,但希望統一在同一個后臺系統里進行用戶認證和數據處理。這時候,我們就需要一個靈活的方式來管理多個小程序的 appid 和 secret&…

Docker 容器(一)

Docker一、Docker是什么1.什么是Docker2.Docker特點3.比較虛擬機和容器二、Docker安裝1.Docker??三大核心組件??2.安裝步驟(Ubuntu)3.阿里云鏡像加速三、Docker鏡像1.什么是鏡像2.UnionFS(聯合文件系統)3.Docker鏡像加載原理4…

容器安全實踐(二):實踐篇 - 從 `Dockerfile` 到 Pod 的權限深耕

在上一篇《容器安全實踐(一):概念篇》中,我們深入探討了容器安全的底層原理,并糾正了“容器天生安全”的誤解。我們了解了 root 用戶的雙重身份,以及特權容器的危險性。 然而,僅僅了解這些概念…

c#_數據持久化

數據持久化架構 數據是應用程序的命脈。持久化架構的選擇直接決定了應用的性能、可擴展性、復雜度和維護成本。本章將深入探討.NET生態中主流的數據訪問模式、工具和策略,幫助你為你的系統做出最明智的數據決策。5.1 ORM之爭:Entity Framework Core深度剖…

996引擎-骰子功能

996引擎-骰子功能 測試NPC QF回調函數 結果 參考資料 在測試NPC播放骰子動畫。 播放前需要先設置骰子點數 測試NPC [[骰子的顯示順序和點數 對應 私人變量 D0 D1 D2 D3 D4 D5]] -- NPC入口函數 function main(player)-- 骰子共6個,設置骰子點數后,再執行搖骰子,否則沒動畫…

Vue 3多語言應用開發實戰:vue-i18n深度解析與最佳實踐

📖 概述 Vue 3 國際化(i18n)是構建多語言應用的核心需求。本文檔介紹 Vue 3 中實現國際化的主流方案,包括 vue-i18n、Vite 插件方案和自定義解決方案。 🎯 主流方案對比 方案優點缺點適用場景vue-i18n功能完整、生態成…

港口船舶流量統計準確率↑27%!陌訊多模態融合算法實戰解析

一、行業痛點:港口船舶流量統計的三大核心難題智慧港口建設中,船舶流量統計是泊位調度、航道管理與安全預警的核心數據支撐,但傳統方案受場景特性限制,長期存在難以解決的技術瓶頸。據《2023 年中國港口智能化發展報告》顯示&…

Shell腳本的基礎知識學習

Shell 腳本是 Linux/Unix 系統的核心自動化工具,能夠完成以下任務: (1)批量操作:一鍵安裝軟件、批量處理文件(重命名、壓縮、備份等)。 (2)系統管理:監控資源…

k8s部署,pod管理,控制器,微服務,集群儲存,集群網絡及調度,集群認證

k8s部署 k8s中容器的管理方式 ? Kubernetes集群創建方式 centainerd 默認情況下,K8S在創建集群時使用的方式 docker docker使用的普記錄最高,雖然K8S在1.24版本后已經費力了kubelet對docker的支持,但時可以借助cri-docker方式來實現集…

JAVA限流方法

在 Java 項目中限制短時間內的頻繁訪問(即接口限流),是保護系統資源、防止惡意攻擊或高頻請求導致過載的重要手段。常見實現方案可分為單機限流和分布式限流,以下是具體實現方式:一、核心限流算法無論哪種方案&#xf…

性能比拼: .NET (C#) vs. Fiber (Go)

本內容是對知名性能評測博主 Anton Putra .NET (C#) vs. Fiber (Go): Performance (Latency - Throughput - Saturation - Availability) 內容的翻譯與整理, 有適當刪減, 相關指標和結論以原作為準 在本視頻中,我們將對比 C# 與 .NET 框架和 Golang 的表現。在第一個…

信譽代幣的發行和管理機制是怎樣的?

信譽代幣的發行與管理機制是區塊鏈技術與經濟模型深度融合的產物,其核心在于通過代碼和社區共識構建可量化、可驗證的信任體系。以下從技術架構、經濟模型、治理機制三個維度展開分析,并結合具體案例說明:一、發行機制:行為即價值…

神經網絡|(十二)概率論基礎知識-先驗/后驗/似然概率基本概念

【1】引言 前序學習進程中,對貝葉斯公式曾經有相當粗糙的回歸,實際上如果我們看教科書或者網頁,在講貝葉斯公式的時候,會有幾個名詞反復轟炸:先驗概率、后驗概率、似然概率。 今天就來把它們解讀一下,為以…

使用UE5開發《紅色警戒3》類戰略養成游戲的硬件配置指南

從零開始,學習 虛幻引擎5(UE5),開始游戲開發之旅!本文章僅提供學習,切勿將其用于不法手段!開發類似《紅色警戒3》級別的戰略養成游戲,其硬件需求遠超普通2D或小型3D項目——這類游戲…

Vue2+Vue3前端開發_Day12-Day14_大事件管理系統

參考課程: 【黑馬程序員 Vue2Vue3基礎入門到實戰項目】 [https://www.bilibili.com/video/BV1HV4y1a7n4] ZZHow(ZZHow1024) 項目收獲 Vue3 composition APIPinia / Pinia 持久化處理Element Plus(表單校驗,表格處理,組件封裝&#xff09…