python中將列表賦值(python列表賦初值)

本文目錄一覽:

Python中的列表

列表(list)是Python中一個非常重要的類型,用於管理一組數據,列表的形式如下所示

country = [‘China’, ‘Germany’, ‘Russia’, ‘America’]

1)數據包含在引號中,Python中單引號和雙引號具有相同的作用

2)使用逗號分隔數據,整個列表包含在一個中括弧中

3)適用賦值操作符將一個列表賦值給一個變數名如上述例子中的「country」, Python的變數名不需要聲明類型

country = []

列表不僅可以存放字元串這樣的數據,還可以存放混合類型的數據,例如在列表中存儲列表

除了列表外還可以存儲字典和元組,字典和元組另作介紹

列表可以像數組那樣通過下標獲取列表中的數據,數據類型—字元串

列表可以適用冒號「:」操作符選取列表中的一部分數據,選取出的數據成為切片,實際上是字列表,但這些數據需要是連續的。

此外數據可以正向取如示例中的「0 : 2」得到列表[‘China’, ‘Germany’], 也可以反向取如「-2:-1」

需要注意的是即使切片只取一個數據得到的也是一個列表,而不是一個字元串,與使用索引得到的數據是不同的

添加數據可以使用 insert() 和 append() 兩種方法,如下所示:

insert() 第一個參數確定插入的位置,在這個位置之後插入需要插入的數據, append() 將數據添加到列表的尾部

從列表中找出某個值第一個匹配項的索引位置

只能查找第一層數據,如果差列表中的列表,需要將列表全部輸入。函數中的start和stop用於確定搜索範圍

移除列表中的一個元素(默認最後一個元素),並且返回該元素的值

移除列表中某個值的第一個匹配項

反向列表中元素

對原列表進行排序

Python的賦值與複製

對於Python的初學者,在對象的使用過程中,由於對變數的賦值和對象的複製中的概念模糊,導致程序出錯。

例如,下面的代碼:

輸出結果為:

a = [6,2,3,4,5],

b = [6,2,3,4,5],

c = [1,2,3,4,5]

a等於b?True

a等於c?True

a是b?True

a是c? False

可以看到,a,b, c所指向的對象的值都相同(a==b為True). a和b都是代表同一個對象(a is b為True)。當我們通過變數b對該列表進行修改時,由於a也指向該列表,所以當列印a,b時,我們得到相同的值。 而a和c則是代表不同的對象(a is c為False),所以修改b所指向得列表不會改變c梭子鄉的列表的值.

在Python中,所有的變數都代表了對象,即便是簡單的數字類型(int, float, bool),也是以對象的形式存在的。我們看下面的代碼:

輸出結果是:

a==b為True

a is b為True

可見,a, b都是指向同一個對象。接下來,進行下面的操作,

輸出結果是:

a = 1, b = 2

a is b為False

與前面的列表不同,當我們對b做修改時,實際上是給b賦予了一個新生成的對象,對數值類型來說,所有的數值運算都會創建一個數值對象,並將這個對象指定給變數。因此,a與b指向了不同的對象,數值也不同。

再回過頭來看列表對象,

我們知道,b是與a指向同一對象的變數,使用b對該對象進行修改,與使用a對該對象進行修改,效果是完全一樣的。如果我們需要需要一個與a完全相同又與a相互獨立的列表,那麼就需要複製這個對象,也就是新建一個內容和源對象相同的對象。

對於列表來說,最簡單的複製方法是通過下標索引的方式創建新的列表:

對於各種數據類型通用的對象拷貝複製,我們可以使用python內建的copy模塊。

對於複雜對象(如嵌套列表)的複製,則需要注意區分淺拷貝和深拷貝。我們來看下面的代碼:

得到的結果是:

a[0] is b[0]為 True

a[0] is c[0]為 False

a = [[-1, 2, 3], [4, 5, 6]]

b = [[-1, 2, 3], [7, 8, 9]]

c = [[1, 2, 3], [4, 5, 6]]

a[1] is b[1]為False

從上面的代碼我們可以看到,copy函數為淺拷貝,只拷貝了對象的外層,而對象內部所包含的對象仍然指向原有的對象。而deepcopy則為深拷貝,對象內部的對象也進行了複製。

以上我們對變數的賦值和對象的複製做了更加深入的分析。在具體的使用中,我們需要根據具體來決定使用賦值、淺拷貝、深拷貝。

python 列表切片賦值

切片賦值,得到的與原變數無關,是兩個不同的對象;直接賦值,引用的是同一個對象。

請看下例

1、直接賦值。

a=[0,2,3,0]

b=a

print b

del(a[1])

print b

這樣寫得到的結果是:

[0, 2, 3, 0]

[0, 3, 0]

2、切片賦值。

a=[0,2,3,0]

b=a[:]

print b

這樣寫得到的結果是

del(a[1])

print b

[0, 2, 3, 0]

[0, 2, 3, 0]

是不一樣吧?

3、現對它們的id做一下輸出就會發現問題所在;

(1)直接賦值得到的id是一樣的:

[0, 2, 3, 0]

[0, 3, 0]

id(b): 83565448 id(a): 83565448

(2)切片賦值得到的id:

[0, 2, 3, 0]

[0, 2, 3, 0]

id(b): 83250504 id(a): 83250056

如何用python實現雙列表同步賦值?

答:可以使用Python中的for循環進行列表的賦值,for循環的格式為:

for iterating_var in sequence:

statements(s)

對應代碼如下所示。

其中一次的運行結果如下,滿足題目要求。

Python中,列表list_one賦值給list_two,當list_one中元素髮生變化時,為何list_two中相應元素也會改變?

list1 指向[456]的數組

list2 指向list1 等於也指向 [456]

那你list1改變的時候 原來那塊內存變成了[453]

從List2看過去 當然也還是[453]

python賦值是什麼?

Python中的賦值是一種語句,是將創建的一個數據對象,然後通過變數對這個值進行引用,變數即代表這個值,後面對這個數據的操作都通過這個變數來完成,這就是賦值。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/230534.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-10 18:17
下一篇 2024-12-10 18:17

相關推薦

  • Python中將字元串轉化為浮點數

    本文將介紹在Python中將字元串轉化為浮點數的常用方法。在介紹方法之前,我們先來思考一下這個問題應該如何解決。 一、eval函數 在Python中,最簡單、最常用的將字元串轉化為…

    編程 2025-04-29
  • Python字元轉列表指南

    Python是一個極為流行的腳本語言,在數據處理、數據分析、人工智慧等領域廣泛應用。在很多場景下需要將字元串轉換為列表,以便於操作和處理,本篇文章將從多個方面對Python字元轉列…

    編程 2025-04-29
  • Python中不同類型的列表

    Python是一種功能強大的編程語言,其內置數據結構之一為列表。列表可以容納任意數量的元素,並且可以存儲不同類型的數據。 一、列表的基本操作 Python的列表類型支持許多操作,如…

    編程 2025-04-29
  • 使用FFmpeg在Java中將MP3 URL轉換為PCM

    本文介紹了使用FFmpeg在Java中將MP3 URL轉換為PCM的具體步驟,以及相應代碼示例。 一、準備工作 在使用FFmpeg之前,需要先安裝FFmpeg,可以在官網(http…

    編程 2025-04-29
  • Python為什麼輸出空列表

    空列表是Python編程中常見的數據類型,在某些情況下,會出現輸出空列表的情況。下面我們就從多個方面為大家詳細闡述為什麼Python會輸出空列表。 一、賦值錯誤 在Python中,…

    編程 2025-04-29
  • Python定義兩個列表的多面探索

    Python是一種強大的編程語言,開放源代碼,易於學習和使用。通過Python語言,我們可以定義各種數據類型,如列表(list)。在Python中,列表(list)在處理數據方面起…

    編程 2025-04-29
  • Python編程實現列表元素逆序存放

    本文將從以下幾個方面對Python編程實現列表元素逆序存放做詳細闡述: 一、實現思路 一般來說,使用Python將列表元素逆序存放可以通過以下幾個步驟實現: 1. 定義一個列表 2…

    編程 2025-04-29
  • Python列表的讀寫操作

    本文將針對Python列表的讀取與寫入操作進行詳細的闡述,包括列表的基本操作、列表的增刪改查、列表切片、列表排序、列表反轉、列表拼接、列表複製等操作。 一、列表的基本操作 列表是P…

    編程 2025-04-29
  • Python字典列表去重

    這篇文章將介紹如何使用Python對字典列表進行去重操作,並且從多個方面進行詳細的闡述。 一、基本操作 首先我們需要了解Python字典列表去重的基本操作。Python中提供了一種…

    編程 2025-04-28
  • Python文件路徑賦值

    Python中文件操作是非常基本的操作,而文件路徑是文件操作的前提。本文將從多個方面闡述如何在Python中賦值文件路徑。 一、絕對路徑和相對路徑 在Python中,路徑可以分為絕…

    編程 2025-04-28

發表回復

登錄後才能評論