在領扣的刷題過程中會經常遇到list,而且需要一開始的時候進行初始化的需求,對list初始化有以下幾個技巧:
初始化元素個數為8的的list列表
li = [i for i in range(8)]
print(li)
li = [1] * 10
print(li)
li[2] = 10
print(li)
li = [[0] * 3 for i in range(4)]
print(li)
li[0][1] = 3
print(li)
# 這裡需要注意,雖然l = [[0] * 3] * 4,也輸出同樣的結果,但是不能這樣做
# 因為[0] * 3是乙個一維列表的物件,再 * 4的話只是把物件的引用複製了4次
li = [[0] * 3] * 4
print(li)
li[0][1] = 9
print(li)
在初始化二維列表的時候一般會使用到li = [[0] * 3 for i in range(4)]寫法因為在後面修改的時候修改某乙個元素的值不會影響到其他位置的值
if __name__ == '__main__':
# 一維列表
# 初始化遞增的list
li = [i for i in range(8)]
print(li)
# 初始化每項為1的一維列表
li = [1] * 10
print(li)
# 修改list中的元素
li[2] = 10
print(li)
# 四行三咧的二維陣列
li = [[0] * 3 for i in range(4)]
print(li)
li[0][1] = 3
print(li)
# 這裡需要注意,雖然l = [[0] * 3] * 4,也輸出同樣的效果,但是萬萬不能這樣做!
# 因為[0] * 3是乙個一維列表的物件,再 * 4的話只是把物件的引用複製了4次
li = [[0] * 3] * 4
print(li)
li[0][1] = 9
print(li)
初始化Python多維列表(list)的坑
刷題過程中採用兩種方式對乙個多維列表進行初始化,最後得到的結果不同,很是疑惑,後來發現兩種初始化方式是有區別的!capacity 10num 5valueexcel 0for j in range capacity 1 for i in range num 1 valueexcel2 0 capac...
python初始化list列表(1維 2維)
1.初始化遞增的list list1 list range 10 print list1 0,1,2,9 2.初始化每項為0的一維陣列 list2 0 5 print list2 0,0,0,0,0 3.初始化固定值的一維陣列 initval 1 listlen 5 list3 initval fo...
PYTHON 初始化方法
初始化方法 init 是python物件的內建方法 init 方法是專門用來定義乙個類具有哪些屬性和方法的 初始化方法 我們現在已經知道了使用 類名 就可以建立乙個物件 當使用類名 建立物件時,python的直譯器會自動執行以下操作 1.為物件在記憶體中分配空間 建立物件 2.呼叫初始化方法為物件的...