Python入門Day4

Python中數據的常用操作

數據拷貝

根據以下代碼可以看出l1和l2實際上都是對于數據的引用,當l1被改變了,l2也會發生同樣的改變,l2 = l1只是將l2指向了l1所指向的地址。

>>> l1 = [1,2,[3,4],[5,6]]
>>> l2 = l1
>>> l1[2][0] = 1
>>> print(l1[2][0])
1
>>> print(l2[2][0])
1
>>>        

那么該如何使得l2不再指向l1所指向的數據,自己開辟一塊新的數據呢?我們可以使用copy這個方法
可以看出,copy生成的l2在l1被修改之后并不會修改。

>>> l1 = [1,2,[3,4]]
>>> l2 = l1.copy()
>>> l1[0] = 7
>>> print(l1)
[7, 2, [3, 4]]
>>> print(l2)
[1, 2, [3, 4]]

但是問題并沒有被完全解決。從以下代碼可以看出,外層的數據淺拷貝之后互不影響;但是嵌套的列表結構淺拷貝之后還是會互相影響。因此在這種情況下需要用到深拷貝

>>> l1 = [1,2,[3,4]]
>>> l2 = l1.copy()
>>> l1[0] = 7
>>> print(l1)
[7, 2, [3, 4]]
>>> print(l2)
[1, 2, [3, 4]]
>>> l1 = [1,2,[3,4]]
>>> l2 = l1.copy()
>>> l2[0] = 7
>>> print(l2)
[7, 2, [3, 4]]
>>> print(l1)
[1, 2, [3, 4]]
>>> l2[2][0] = 6
>>> print(l1)
[1, 2, [6, 4]]
>>> print(l2)
[7, 2, [6, 4]]

深拷貝需要導入copy包,使用copy.deepcopy(l1)的方法拷貝l1。下面的方法拷貝之后l1中的嵌套列表被修改,l2中的值也不會變。

>>> l1 = [1,2,[3,4]]
>>> l2 = copy.deepcopy(l1)
>>> l1[2][0] = 7
>>> print(l1)
[1, 2, [7, 4]]
>>> print(l2)
[1, 2, [3, 4]]

運算符

Python運算符可以分為七類:
算術運算符、比較運算符、賦值運算符、邏輯運算符、位運算符、成員運算符、身份運算符。
Python運算符可以分為七類,每類運算符都有其特定的用途和語法規則:

  1. 算術運算符
    用于基本的數學運算:
    • 加法(如:3 + 5 = 8)
    • 減法(如:10 - 4 = 6)
    • 乘法(如:2 * 6 = 12)
  • / 除法(如:9 / 3 = 3.0)
  • % 取模(如:10 % 3 = 1)
  • ** 冪運算(如:2 ** 3 = 8)
  • // 取整除(如:9 // 2 = 4)
  1. 比較運算符
    用于比較兩個值,返回布爾值True或False:
  • == 等于(如:5 == 5 → True)
  • != 不等于(如:3 != 2 → True)
  • 大于(如:6 > 4 → True)

  • < 小于(如:3 < 5 → True)
  • = 大于等于(如:7 >= 7 → True)

  • <= 小于等于(如:4 <= 5 → True)
  1. 賦值運算符
    用于給變量賦值:
  • = 基本賦值(如:x = 5)
  • += 加法賦值(如:x += 3等價于x = x + 3)
  • -= 減法賦值
  • *= 乘法賦值
  • /= 除法賦值
  • %= 取模賦值
  • **= 冪賦值
  • //= 取整除賦值
  1. 邏輯運算符
    用于組合條件判斷:
  • and 與(如:x > 0 and x < 10)
  • or 或(如:x == 5 or x == 10)
  • not 非(如:not(x > 10))
  1. 位運算符
    對數值的二進制位進行操作:
  • & 按位與
  • | 按位或
  • ^ 按位異或
  • ~ 按位取反
  • << 左移
  • 右移

  1. 成員運算符
    測試序列中是否包含某個成員
  • in (如:‘a’ in [‘a’,‘b’,‘c’] → True)
  • not in (如:‘d’ not in ‘abc’ → True)
  1. 身份運算符
    比較兩個對象的內存地址:
  • is (如:a is b)
  • is not (如:x is not None)
    is和==的區別:is用于判斷兩個變量引用對象是否是同一個,==用于判斷引用變量的值是否相等。

數據結構基礎

數據結構的分類:
–線性表
–數組
–鏈表
–隊列
–樹
–圖
–堆棧
–散列表

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

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

相關文章

計算機網絡中的常用表項梳理

核心表項對比 表項 全稱 工作層級 主要功能 涉及設備 典型生命周期 MAC表 媒體訪問控制表 數據鏈路層&#xff08;二層&#xff09; Mac地址和端口關系 交換機、網橋 動態學習 FDB表 轉發數據庫 &#xff08;Forwarding DataBase&#xff09; 數據鏈路層&#xf…

百度輪崗:任命新CFO,崔珊珊退居業務二線

文 | 大力財經2025 年 7 月 1 日&#xff0c;百度組織再次變革&#xff0c;崔珊珊退居二線引發的行業關注。百度創始人李彥宏發布的內部信&#xff0c;宣布的新一輪組織調整里&#xff0c;崔珊珊退居二線這一變動&#xff0c;格外引人矚目。崔珊珊&#xff0c;這位在百度人力資…

TAMPER-RTC(STM32F103) 引腳說明

我來查看ST官方手冊中關于TAMPER-RTC引腳的具體說明。 Ran tool Ran tool Ran tool Read file: doc/STM32F103VGT6/STM32F103VGT6_specification.txt Read file: doc/STM32F103VGT6/STM32F103VGT6_specification.txt Ran tool Read file: doc/STM32F103VGT6/STM32F103VGT6_spec…

BUUCTF在線評測-練習場-WebCTF習題[極客大挑戰 2019]HardSQL1-flag獲取、解析

解題思路 打開靶場、熟悉的感覺 上次是過濾了很多字符&#xff0c;用了雙寫繞過進行注入即可&#xff0c;這次進階了難度 先老規矩判斷下閉合 11 123 報錯提示 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version…

MyBatis動態SQL進階:復雜查詢與性能優化實戰

引言 在復雜業務場景中&#xff0c;SQL查詢往往需要動態拼接條件、復用代碼片段&#xff0c;并支持批量操作。MyBatis的動態SQL功能提供了強大的解決方案&#xff0c;本文將深入解析<choose>條件分支、<sql>片段復用、批量操作優化等核心技巧&#xff0c;助你寫出高…

@Transactional 注解失效的場景及原因分析

先分析一下 1&#xff0c;內部調用&#xff0c;原對象調用&#xff0c;不是代理對象調用 2&#xff0c;private方法&#xff0c;源碼中&#xff0c;只能是public方法 3&#xff0c;異常被捕獲了&#xff0c;事物攔截器&#xff0c;無法感知 4&#xff0c;子線程調用&#x…

使用unity創建項目,進行動畫制作

1. 創建unity項目 error: error CS0006: Metadata file Library/PackageCache/com.unity.collab-proxy2.8.2/Lib/Editor/PlasticSCM/log4netPlastic.dll could not be found error CS0006: Metadata file Library/PackageCache/com.unity.collab-proxy2.8.2/Lib/Editor/Plasti…

Centos系統及國產麒麟系統設置自己寫的go服務的開機啟動項完整教程

1、創建服務文件 在 /etc/systemd/system/ 下新建服務配置文件&#xff08;需sudo權限&#xff09;&#xff0c;例如&#xff1a; sudo nano /etc/systemd/system/mygo.service 如下圖&#xff0c;創建的mygo.service 2、創建內容如下&#xff1a; DescriptionThe go HTTP a…

Java面試寶典: IO流

1. 下面哪個流類屬于面向字符的輸入流() 選項: A. BufferedWriter B. FileInputStream C. ObjectInputStream D. InputStreamReader 答案:D 詳細分析: 字符流與字節流的本質區別: 字符流(Character Streams)以Unicode字符為單位操作數據,適用于文本處理字節流(Byte…

黑馬python(二十五)

目錄&#xff1a;1.數據輸出-輸出為Python對象2.數據輸出-輸出到文件中3.綜合案例1.數據輸出-輸出為Python對象2.數據輸出-輸出到文件中移動文件到文件夾&#xff1a;生成了好多文件&#xff0c;因為Rdd是有分區的 &#xff0c;會把數據分散到各個分區去存儲&#xff0c;因為電…

【LeetCode 熱題 100】41. 缺失的第一個正數——(解法一)暴力解

Problem: 41. 缺失的第一個正數 題目&#xff1a;給你一個未排序的整數數組 nums &#xff0c;請你找出其中沒有出現的最小的正整數。 請你實現時間復雜度為 O(n) 并且只使用常數級別額外空間的解決方案。 文章目錄整體思路完整代碼時空復雜度時間復雜度&#xff1a;O(N log N)…

在運行 Laravel Sail 前,需安裝 Docker Desktop 并完成基礎配置/具體步驟

一、安裝 Docker Desktop&#xff08;必備環境&#xff09; Windows 系統 &#xff08;windows安裝包 有兩個版本&#xff09; 架構版本查看 1. Win R? 輸入 ?cmd? 打開命令提示符&#xff1b; 2. ?輸入命令?&#xff1a; bash echo %PROCESSOR_ARCHITECTURE% 3. ?結果…

AI 應用于進攻性安全

一、引言 大語言模型&#xff08;LLM&#xff09;和 AI 智能體的出現推動進攻性安全變革&#xff0c;其在偵察、掃描、漏洞分析、利用、報告五個階段展現出數據分析、代碼生成、攻擊場景規劃等能力&#xff0c;能提升安全團隊效率與擴展性&#xff0c;但存在 “幻覺” 等局限性…

微控制器中的EXTI0(External Interrupt 0)中斷是什么?

微控制器中的EXTI0(External Interrupt 0)中斷是什么? EXTI0(External Interrupt 0) 是微控制器(如STM32等ARM Cortex-M系列芯片)中的一個外部中斷線,專門用于處理來自特定GPIO引腳的外部信號觸發中斷。以下是詳細說明: 1. 基本概念 EXTI(External Interrupt/Event …

EasyGBS平臺內置AI算法了,算法成為了視頻平臺的標配

今年五一的時候立了個flag&#xff08;《國標GB28181平臺EasyGBS未來研發方向在哪&#xff1f;》&#xff09;&#xff0c;我想不能再局限在只是滿足于傳統視頻平臺的功能&#xff0c;傳統的EasyGBS也就是接入幾種視頻協議&#xff0c;什么RTSP、ONVIF、RTMP、GB28181這些&…

C# 常量與變量

在 C# 中&#xff0c;常量和變量是存儲數據的基本方式&#xff1a; // 常量&#xff1a;使用 const 關鍵字聲明&#xff0c;必須在聲明時初始化&#xff0c;且值不能改變 const double Pi 3.14159; const string Message "Hello, World!"; ? // 變量&#xff1a;…

TensorRT-LLM:大模型推理加速的核心技術與實踐優勢

大型語言模型推理就像讓一頭300公斤的大熊貓玩平衡木——顯存消耗和計算效率這對雙胞胎問題隨時可能讓表演翻車。以主流的7B參數模型為例&#xff0c;FP16精度下僅模型權重就吃掉14GB顯存&#xff0c;這還沒算上推理過程中不斷膨脹的KV Cache——當處理2048長度的對話時&#x…

免費棱光 PDF:免安裝 加水印 去水印 批量格式轉換

各位辦公小能手們&#xff0c;今天給大家介紹一款超棒的PDF處理工具——棱光PDF&#xff01;它完全免費&#xff0c;專門解決咱對PDF文件的常見操作需求。綠色免安裝&#xff0c;體積小得跟顆花生米似的&#xff0c;打開就能用。它有三大核心功能&#xff0c;分別是水印管理、格…

(二)復習(Error Pattern/Result Pattern/)

文章目錄 項目地址一、Error Pattern1.1 定義Error類1. ErrorType 可發生的錯誤類型2. Error類3. ValidataionError1.2 給每個實體創建Error類1. CategoryError類2. TicketErrror類3. EventErrror類二、Result Pattern1.1 自定義返回Result1. 泛型類2. 泛型方法1.2 Api層的Resu…

20250705-day6

NATO&#xff1a;北大西洋公約組織 Software Crisis&#xff1a;軟件危機 Paradigm&#xff1a;設計范型 Waterfall Model&#xff1a;瀑布模型 Prototype Model&#xff1a;原型模型&#xff08;又稱快速模型&#xff09; Spiral Model&#xff1a;螺旋模型 Agile&#xff1a;…