導航:首頁 > 編程語言 > python二維list賦值

python二維list賦值

發布時間:2022-07-13 07:25:32

python中,如何將list中的各個值快速賦值給變數

Python 的強大特性之一是其對 list 的解析,它提供一種緊湊的方法,可以通過對 list 中的每個元素應用一個函數,從而將一個 list 映射為另一個 list。

例 3.24. List 解析介紹

>>> li = [1, 9, 8, 4]
>>> [elem*2 for elem in li]
[2, 18, 16, 8]
>>> li
[1, 9, 8, 4]
>>> li = [elem*2 for elem in li]
>>> li
[2, 18, 16, 8]

為了便於理解它,讓我們從右向左看。li 是一個將要映射的 list。Python 循環遍歷 li 中的每個元素。對每個元素均執行如下操作:首先臨時將其值賦給變數 elem,然後 Python 應用函數 elem*2 進行計算,最後將計算結果追加到要返回的 list 中。

需要注意是,對 list 的解析並不改變原始的 list。

將一個 list 的解析結果賦值給對其映射的變數是安全的。不用擔心存在競爭情況或任何古怪事情的發生。Python 會在內存中創建新的 list,當對 list 的解析完成時,Python 將結果賦給變數。

From <dive into python>

② python列表賦值問題

list1和list2隻是引用,它們指向同一個列表對象,該列表對象的內容改變後,不論通過哪一個引用去訪問,結果肯定也改變了。

③ python怎麼把list依次賦值

import List2=.deep(List1)這樣賦值,List2初始值和List1一樣,因為是深度復制List1中的元素,所有深層元素都引用的是不同的對象,List1的任何改變不會影響List2

④ python二維數組怎麼朝裡面填數據

你可以定義一個嵌套的list
表示一個二維數組,並初始化為這樣:

1
2

score = [[0]*3, [0]*3,[0]*3]
print score

這樣在循環外就能方便的訪問每個元素了。

⑤ python的二維list問題

list 的 乘法是將裡面的對象復制了一遍,並沒有創建新的對象(object)。比方說


b = [1, 2, 3]


b 是一個 list 對象,如果


a = [b]*3

那麼a就是一個包含三個 b 的列表,這個列表中的每一個對象都是b,所以你修改任意一個對象,實際都是在修改 b本身。用 id() 可以查看對象id,你可以發現a中的每一個元素都是同一個id

>>>b=[0,0,0]
>>>id(b)
47599855534232
>>>a=[b]*3
>>>a
[[0,0,0],[0,0,0],[0,0,0]]
>>>id(a)
47599860614424
>>>id(a[0])
47599855534232
>>>id(a[1])
47599855534232
>>>id(a[2])
47599855534232
>>>id(a[2])==id(b)
True

如果你想a中每一個元素都是不同的對象,可以用下面的代碼:

a=[[0]*3foriinrange(3)]

⑥ python 如何定義動態二維數組

追加字元串列表主要的二維列表。由於多維名單基本上列出清單,一個兩維的名單將代表一個單一的清單,其中包含其他列表。 .,因為Python列表是動態的,首先你可以使用「追加」功能容易添加和刪除其他列表:

⑦ 一些Python中的二維數組的操作方法

一些Python中的二維數組的操作方法
這篇文章主要介紹了一些Python中的二維數組的操作方法,是Python學習當中的基礎知識,需要的朋友可以參考下

需要在程序中使用二維數組,網上找到一種這樣的用法:
#創建一個寬度為3,高度為4的數組
#[[0,0,0],
# [0,0,0],
# [0,0,0],
# [0,0,0]]
myList = [[0] * 3] * 4

但是當操作myList[0][1] = 1時,發現整個第二列都被賦值,變成
[[0,1,0],

[0,1,0],

[0,1,0],

[0,1,0]]

為什麼...一時搞不懂,後面翻閱The Python Standard Library 找到答案

list * n—>n shallow copies of list concatenated, n個list的淺拷貝的連接

例:
>>> lists = [[]] * 3
>>> lists
[[], [], []]
>>> lists[0].append(3)
>>> lists
[[3], [3], [3]]

[[]]是一個含有一個空列表元素的列表,所以[[]]*3表示3個指向這個空列表元素的引用,修改任何

一個元素都會改變整個列表:

所以需要用另外一種方式進行創建多維數組,以免淺拷貝:
>>> lists = [[] for i in range(3)]
>>> lists[0].append(3)
>>> lists[1].append(5)
>>> lists[2].append(7)
>>> lists
[[3], [5], [7]]

之前的二維數組創建方式為:
myList = [([0] * 3) for i in range(4)]

⑧ 如何在python中創建二維列表

Python中創建二維列表/數組,即創建一個list,並且這個list的元素還是list。可以用列表解析的方法實現。

創建例子如下:

2d_list=[[0forcolinrange(cols)]forrowinrange(rows)]

其中cols, rows變數替換為你需要的數值即可,例如:

2d_list=[[0forcolinrange(9)]forrowinrange(9)]
#9*9的二維列表

⑨ python如何求二維列表中的最大值最小值平均值等

public class ArrayTest{

public static void main(String[] args) {

int[]array = new int[10];

System.out.print("由控制台生成的數組是:");

for (int i = 0; i < 10; i++ ){

array[i] = (int)((Math.random()*100)+1);//生成100以內的隨機數

System.out.print(+array[i] + ",");

}

System.out.println();

int max = array[0]; // 把數據中的第1個元素存max

int min = array[0]; // 把數據中的第1個元素存min

int sum = array[0];

for(int i = 1;i<array.length;i++){ // 從第二個元素開始遍歷數組

if(array[i]>max){ // 假如元素大於max 就把當前值賦值給max

max=array[i];

}

if(array[i]<min){ // 假如元素小於min 就把當前值賦值給min

min=array[i];

}

sum += array[i];

}

System.out.println("數組中的最大值:"+max);

System.out.println("數組中的最小值:"+min);

System.out.println("數組元素的和:"+sum);

System.out.println("數組元素的平均值:"+sum/array.length);

}

}

⑩ python中如何使用二維數組

在Python中,一個像這樣的多維表格可以通過「序列的序列」實現。一個表格是行的序列。每一行又是獨立單元格的序列。這類似於我們使用的數學記號,在數學里我們用Ai,j,而在Python里我們使用A[i][j],代表矩陣的第i行第j列。
這看起來非常像「元組的列表」(Lists of Tuples)。
「列表的列表」示例:
我們可以使用嵌套的列表推導式(list comprehension)創建一個表格。 下面的例子創建了一個「序列的序列」構成的表格,並為表格的每一個單元格賦值。
table= [ [ 0 for i in range(6) ] for j in range(6) ]print tablefor d1 in range(6):for d2 in range(6):table[d1][d2]= d1+d2+2print table123456程序的輸出結果如下:
[[0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0]],
[[2, 3, 4, 5, 6, 7], [3, 4, 5, 6, 7, 8], [4, 5, 6, 7, 8, 9],
[5, 6, 7, 8, 9, 10], [6, 7, 8, 9, 10, 11], [7, 8, 9, 10, 11, 12]]
1234
這個程序做了兩件事:創建了一個6 × 6的全0表格。 然後使用兩枚骰子的可能組合的數值填充表格。 這並非完成此功能最有效的方式,但我們通過這個簡單的例子來演示幾項技術。我們仔細看一下程序的前後兩部分。
程序的第一部分創建並輸出了一個包含6個元素的列表,我們稱之為「表格」;表格中的每一個元素都是一個包含6個0元素的列表。它使用列表推導式,對於范圍從0到6的每一個j都創建對象。每一個對象都是一個0元素列表,由i變數從0到6遍歷產生。初始化完成之後,列印輸出二維全0表格。
推導式可以從里向外閱讀,就像一個普通表達式一樣。內層列表[ 0 for i in range(6) ]創建了一個包含6個0的簡單列表。外層列表[ [...] for j in range(6) ]創建了這些內層列表的6個深拷貝。
程序的第2個部分對2個骰子的每一個組合進行迭代,填充表格的每一個單元格。這由兩層嵌套循環實現,每一個循環迭代一個骰子。外層循環枚舉第一個骰子的所有可能值d1。內層循環枚舉第二個骰子d2。
更新每一個單元格時需要通過table[d1]選擇每一行;這是一個包含6個值的列表。這個列表中選定的單元格通過...[d2]進行選擇。我們將擲骰子的值賦給這個單元格,d1+d2+2。
其他示例:
列印出的列表的列表不太容易閱讀。下面的循環會以一種更加可讀的形式顯示表格。
for row in table:
print row[2, 3, 4, 5, 6, 7]
[3, 4, 5, 6, 7, 8]
[4, 5, 6, 7, 8, 9]
[5, 6, 7, 8, 9, 10]
[6, 7, 8, 9, 10, 11]
[7, 8, 9, 10, 11, 12]
12345678910111213作為練習,讀者可以試著在列印列表內容時,再列印出行和列的表頭。提示一下,使用"%2d" % value字元串運算符可以列印出固定長度的數字格式。顯示索引值(Explicit Index Values)。
我們接下來對骰子表格進行匯總統計,得出累計頻率表。我們使用一個包含13個元素的列表(下標從0到12)表示每一個骰子值的出現頻率。觀察可知骰子值2在矩陣中只出現了一次,因此我們期望fq[2]的值為1。遍歷矩陣中的每一個單元格,得出累計頻率表。
fq= 13 * [0]for i in range(6):for j in range(6):c= table[i][j]fq[ c ] += 112345使用下標i選出表格中的行,用下標j從行中選出一列,得到單元格c。然後用fq統計頻率。
這看起來非常的數學和規范。
Python提供了另外一種更簡單一些的方式。
使用列表迭代器而非下標,表格是列表的列表,可以採用無下標的for循環遍歷列表元素。
fq= 13 * [0]print fqfor row in table:for c in row:fq[c] += 1print fq[2:

閱讀全文

與python二維list賦值相關的資料

熱點內容
韓國電影吻戲電影推薦5個小時合集 瀏覽:82
有一部小說女主角叫蘇 瀏覽:299
一女主多男主的小說在線閱讀 瀏覽:810
電影院的人可以攜帶多大孩子 瀏覽:630
雲伺服器nginx集群怎麼弄 瀏覽:741
熱感1975在線觀看 瀏覽:205
女主被幾個男主囚禁,逃跑4年後回來 瀏覽:125
都市絕世戰神葉凌天 瀏覽:754
拍攝指南txt百度雲下載 瀏覽:829
女主是大學老師的小說男主是總裁 瀏覽:184
方舟編譯器在哪升級 瀏覽:704
亞瑟王pdf 瀏覽:122
無需下載直接免費看視頻的網址 瀏覽:903
重生紅軍時期的小說 瀏覽:670
天浴哪裡有床戲 瀏覽:257
安卓版的電腦怎麼換成蘋果 瀏覽:712
全英文字幕電影的app 瀏覽:122
邵氏有關左慈的電影 瀏覽:390
以肉為主的穿越 瀏覽:515
名家編譯委員會的版本怎麼樣 瀏覽:186