Python將不能修改的值稱為不可變的 ,而不可變的列表被稱為元組------元組

列表非常適合用于存儲在程序運行期間可能變化的數據集。列表是可以修改的,這對處理網站的用戶列表或游戲中的角色列表至關重要。然而,有時候你需要創建一系列不可修改的元素,元組可以滿足這種需求。Python將不能修改的值稱為不可變的,而不可變的列表被稱為元組。

定義元組
元組看起來猶如列表,但使用圓括號而不是方括號來標識。定義元組后,就可以使用索引來訪問其元素,就像訪問列表元素一樣。
例如,如果有一個大小不應改變的矩形,可將其長度和寬度存儲在一個元組中,從而確保它們是不能修改的:

以dimensions.py文件為例:

? dimensions = (200, 50) 
? print(dimensions[0])print(dimensions[1])

我們首先定義了元組dimensions (見?),為此我們使用了圓括號而不是方括號。接下來,我們分別打印該元組的各個元素,使用的語法與訪問列表元素時使用的語法相同(見?):

200
50

下面來嘗試修改元組dimensions 中的一個元素,看看結果如何:

  dimensions = (200, 50) 
? dimensions[0] = 250

?處的代碼試圖修改第一個元素的值,導致Python返回類型錯誤消息。由于試圖修改元組的操作是被禁止的,因此Python指出不能給元組的元素賦值:

Traceback (most recent call last):File "dimensions.py", line 3, in <module>dimensions[0] = 250
TypeError: 'tuple' object does not support item assignment

代碼試圖修改矩形的尺寸時,Python報告錯誤,這很好,因為這正是我們希望的。

遍歷元組中的所有值
像列表一樣,也可以使用for 循環來遍歷元組中的所有值:

dimensions = (200, 50)
for dimension in dimensions:print(dimension)

就像遍歷列表時一樣,Python返回元組中所有的元素,:

200
50

修改元組變量
雖然不能修改元組的元素,但可以給存儲元組的變量賦值。因此,如果要修改前述矩形的尺寸,可重新定義整個元組:

在這里插入圖片描述
我們首先定義了一個元組,并將其存儲的尺寸打印了出來(見?);接下來,將一個新元組存儲到變量dimensions 中(見?);然后,打印新的尺寸(見?)。這次,Python 不會報告任何錯誤,因為給元組變量賦值是合法的:

Original dimensions:
200
50
Modified dimensions:
400
100

相比于列表,元組是更簡單的數據結構。如果需要存儲的一組值在程序的整個生命周期內都不變,可使用元組。

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

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

相關文章

智慧醫院室內導航系統架構拆解:技術選型與性能攻堅指南

本文面向醫院信息化團隊技術負責人及醫療IoT解決方案開發者&#xff0c;聚焦解決大規模院區導航系統的擴展性、多源數據融合及實時路徑規劃等技術難點&#xff0c;提供從架構到落地的完整技術路線圖。 如需獲取智慧醫院導航導診系統解決方案請前往文章最下方獲取&#xff0c;如…

醫藥采購系統平臺第4天03:實現根據用戶的角色顯示不同用戶的權限菜單編寫攔截器實現權限攔截模塊的開發流程和測試流程小節

如果想要獲取相關的源碼,筆記,和相關工具,對項目需求的二次開發,可以關注我并私信!!! 四 權限管理(用戶授權)的應用:根據用戶的角色顯示不同用戶的權限菜單 經過上面的與第三方系統的成功的接入,而且在“角色管理”菜單中也對需要授權的角色進行了授權--->給一級…

#2 物聯網組成要素

從下至上&#xff0c;則包括了5個要素&#xff0c;包括 設備 / 傳感器 / 網絡 / 物聯網服務 / 數據分析 這五個要素。為了便于理解&#xff0c;我們用思維導圖展示 物聯網構成架構 設備 能夠感測和反饋并連到網絡進行物聯網服務的裝置 傳感器 傳感器和網關的融合實現了物…

< 自用文 Project-30.6 Crawl4AI > 為AI模型優化的網絡爬蟲工具 幫助收集和處理網絡數據的工具

官方鏈接&#xff1a; Github &#xff1a;https://github.com/unclecode/crawl4ai 文檔主頁&#xff1a;https://docs.crawl4ai.com/ 當前版本&#xff1a;Crawl4AI v0.5.0 主要新功能&#xff1a; 可配置策略&#xff08;廣度優先、深度優先、最佳優先&#xff09;探索整…

【Kafka基礎】監控與維護:動態配置管理,靈活調整集群行為

1 基礎配置操作 1.1 修改主題保留時間 /export/home/kafka_zk/kafka_2.13-2.7.1/bin/kafka-configs.sh --alter \--bootstrap-server 192.168.10.33:9092 \--entity-type topics \--entity-name yourtopic \--add-config retention.ms86400000 參數說明&#xff1a; retention…

04-微服務 面試題-mk

文章目錄 1.Spring Cloud 常見的組件有哪些?2.服務注冊和發現是什么意思?(Spring Cloud 如何實現服務注冊發現)3.Nacos配置中心熱加載實現原理及關鍵技術4.OpenFeign在微服務中的遠程服務調用工作流程5.你們項目負載均衡如何實現的 ?6.什么是服務雪崩,怎么解決這個問題?…

Redis最佳實踐——秒殺系統設計詳解

基于Redis的高并發秒殺系統設計&#xff08;十萬級QPS&#xff09; 一、秒殺系統核心挑戰 瞬時流量洪峰&#xff1a;100萬 QPS請求沖擊庫存超賣風險&#xff1a;精準扣減防止超賣系統高可用性&#xff1a;99.99%服務可用性要求數據強一致性&#xff1a;庫存/訂單/支付狀態同步…

AI大模型從0到1記錄學習 數據結構和算法 day18

3.3.1 棧的概述 棧&#xff08;Stack&#xff09;是一個線性結構&#xff0c;其維護了一個有序的數據列表&#xff0c;列表的一端稱為棧頂&#xff08;top&#xff09;&#xff0c;另一端稱為棧底&#xff08;bottom&#xff09;。棧對數據的操作有明確限定&#xff0c;插入元素…

粘性定位(position:sticky)——微信小程序學習筆記

1. 簡介 CSS 中的粘性定位&#xff08;Sticky positioning&#xff09;是一種特殊的定位方式&#xff0c;它可以使元素在滾動時保持在視窗的特定位置&#xff0c;類似于相對定位&#xff08;relative&#xff09;&#xff0c;但當頁面滾動到元素的位置時&#xff0c;它會表現得…

通過使用 include 語句加載并執行一個CMake腳本來引入第三方庫

通過使用 include 語句加載并執行一個CMake腳本來引入第三方庫 當項目中使用到第三方庫時&#xff0c;可以通過使用 include 語句來加載并執行一個CMake腳本&#xff0c;在引入的CMake腳本中進行第三方庫的下載、構建和庫查找路徑的設置等操作&#xff0c;以這種方式簡化項目中…

DNS正反向解析復習,DNS主從服務,轉發服務及DNS和nginx聯合案例

正向解析 1、配置主機名 [rootlocalhost ~]# dnf install bash-completion -y #一個按tap鍵補全的軟件 [rootlocalhost ~]# hostnamectl hostname dns #改主機名為dns [rootlocalhost ~]# exit ssh root你的IP地址 要重啟才會生效2、安裝bind [rootdns ~]# dnf install b…

網絡安全·第一天·IP協議安全分析

本篇博客講述的是網絡安全中一些協議缺陷以及相應的理論知識&#xff0c;本博主盡可能講明白其中的一些原理以及對應的防衛措施。 學習考研408的同學也能進來看看&#xff0c;或許對考研有些許幫助&#xff08;按照考研現在的趨勢&#xff0c;年年都有新題目&#xff0c;本文當…

【詳解】Nginx配置WebSocket

目錄 Nginx配置WebSocket 簡介 準備工作 檢查 Nginx 版本 配置 Nginx 支持 WebSocket 修改 Nginx 配置文件 解釋配置項 測試配置 測試 WebSocket 連接 WebSocket 服務端 (Node.js) WebSocket 客戶端 (HTML JavaScript) 運行測試 Nginx 配置文件示例 解釋 測試配…

《軌道力學講義》——第八講:行星際軌道設計

第八講&#xff1a;行星際軌道設計 引言 行星際軌道設計是探索太陽系的核心技術&#xff0c;它涉及如何規劃和優化航天器從一個天體到另一個天體的飛行路徑。隨著人類探索太陽系的雄心不斷擴大&#xff0c;從最初的月球探測到火星探測&#xff0c;再到更遙遠的外太陽系探測&a…

操作系統學習筆記——[特殊字符]超詳細 | 如何喚醒被阻塞的 socket 線程?線程阻塞原理、線程池、fork/vfork徹底講明白!

&#x1f4a1;超詳細 | 如何喚醒被阻塞的 socket 線程&#xff1f;線程阻塞原理、線程池、fork/vfork徹底講明白&#xff01; 一、什么是阻塞&#xff1f;為什么線程會阻塞&#xff1f;二、socket線程被阻塞的典型場景&#x1f9e0; 解法思路&#xff1a; 三、線程的幾種阻塞狀…

第十六屆藍橋杯大賽軟件賽省賽 Python 大學 B 組 滿分題解

題面鏈接Htlang/2025lqb_python_b 個人覺得今年這套題整體比往年要簡單許多&#xff0c;但是G題想簡單了出大問題&#xff0c;預估50101015120860&#xff0c;道阻且長&#xff0c;再接再厲 代碼僅供學習參考&#xff0c;滿分為賽后洛谷中的測評&#xff0c;藍橋杯官方測評待…

若依代碼生成器原理velocity模板引擎(自用)

1.源碼分析 代碼生成器:導入表結構(預覽、編輯、刪除、同步)、生成前后端代碼 代碼生成器表結構說明&#xff1a; 若依提供了兩張核心表來存儲導入的業務表信息&#xff1a; gen_table&#xff1a;存儲業務表的基本信息 &#xff0c;它對應于配置代碼基本信息和生成信息的頁…

如何制定有效的風險應對計劃

制定有效的風險應對計劃的核心在于&#xff1a; 識別潛在風險、評估風險的影響與概率、選擇合適的應對策略、建立動態監控和反饋機制。 其中&#xff0c;識別潛在風險是最為關鍵的第一步。只有準確識別出可能的風險&#xff0c;才能在后續的評估、應對、監控等環節中做到有的放…

A2A協議實現詳解及示例

A2A協議概述 A2A (Agent2Agent) 是Google推出的一個開放協議&#xff0c;旨在使AI智能體能夠安全地相互通信和協作。該協議打破了孤立智能體系統之間的壁壘&#xff0c;實現了復雜的跨應用自動化。[1] A2A協議的核心目標是讓不同的AI代理能夠相互通信、安全地交換信息以及在各…

【中級軟件設計師】前趨圖 (附軟考真題)

【中級軟件設計師】前趨圖 (附軟考真題) 目錄 【中級軟件設計師】前趨圖 (附軟考真題)一、歷年真題三、真題的答案與解析答案解析 復習技巧&#xff1a; 若已掌握【前趨圖】相關知識&#xff0c;可直接刷以下真題&#xff1b; 若對知識一知半解&#xff0c;建議略讀題目&#x…