導航:首頁 > 編程語言 > python數組初始化全0

python數組初始化全0

發布時間:2022-06-16 21:16:08

A. python語言的創始人解釋為什麼Python數組的索引從0開始

引用Python語言的創始人的解釋

最近有人在Twitter是問我為什麼Python使用以0為第一位的數組索引方式(以下簡稱0-based),並讓我看一篇關於這個主題的文章(很
有趣)。這引起了我不少的回憶。ABC語言——Python的祖先之一,使用的是以1為第一位的索引方式(以下簡稱1-based),而C語言——另一種
對Python有影響巨大的語言,使用0-based方式。我最早學習的幾種語言(Algol, Fortran,
Pascal),有的是1-based的,有的是不固定的。我認為,之所以讓我決定讓Python使用0-based索引方式的原因之一是Python的
切片(slice)語法。

讓我們來先看看切片的用法。可能最常見的用法就是「從數組中切出前n位」或「從數值這第i位起切出n位」(前一種實際上是i==起始位的特殊用法)。如果使用這種語法時不需要表達成難看的+1或-1補充方式,那將是非常的優雅。

使用0-based的索引方式,Python的半開區間切片和預設匹配區間切片語法變得非常漂亮: a[:n] 和 a[i:i+n],前者的標准寫法就是a[0:n]。

如果是1-base的索引方式,那麼,想讓a[:n]表達成「取前n個元素」,(這是不行的),你要麼使用一個閉合區間切片語法,要麼在切片語法中使用切片起始位和切片長度2個參數的形式。使用1-based索引方式,半開區間切片語法變得不優雅。這種方式下使用閉合區間切片語法,為了表達從第i位取n個元素時你必須寫出a[i:i+n-1]。這樣看來,如果使用1-based的索引,使用切片起始位+長度的形式更合適。這樣你可以寫成a[i:n]。事實上ABC語言就是這樣做的——它使用了一個獨特的表達方式,寫成a@i|n。(參看http://homepages.cwi.nl/~steven/abc/qr.html#EXPRESSIONS。

但是,index:length這種方式在其它情況下適用嗎?說實話,這點我有些記不清了,但我想我是被半開區間語法的優雅迷住了。特別是當兩個切
片操作位置鄰接時,第一個切片操作的終點索引值是第二個切片的起點索引值時,太漂亮了,無法舍棄。例如,你想將一個數組以i,j兩個點切成三部分——這三
部分將會是a[:i],a[i:j]和a[j:]。

這就是為什麼我要讓Python使用0-based的索引方式的原因。

B. Python怎麼初始化一個多維數組

你可以定義一個嵌套的list 表示一個二維數組,並初始化為這樣: 1 2 score = [[0]*3, [0]*3,[0]*3] print score 這樣在循環外就能方便的訪問每個元素了。

C. 對Python中數組的幾種使用方法總結

對Python中數組的幾種使用方法總結
今天小編就為大家分享一篇對Python中數組的幾種使用方法總結,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
二維數組的初始化
matirx_done = [[0 for i in range(0, len(matirx))]for j in range(0, len(matirx[0]))]
就將其初始化為一個與matrix相同大小的元素全為 0 的矩陣
數組的多級排序
在數組 idea_collect = [[3, 1, 2], [3, 2, 1], [3, 2, 2], [3, 1, 1]] 中, 先按照第二項排列, 再按照第三項倒序排列 可寫為:
idea_collect.sort(key=lambda x: (x[1], -x[2]))
其中, x[1] 代表第二項正序排列, -x[2] 代表第三項倒序排列
排列結果為 [[3, 1, 2], [3, 1, 1], [3, 2, 2], [3, 2, 1]]
在一個 class 中多個函數不傳參使用同一個數組
如例所示:
class Partition:
def __init__(self):
self.num_complete = []

def partition(self, num, start, end):
self.num_compelete = num

def partition_core(self):
del self.num_compelete[0]
其中,self.num_compelete就是 class 中兩個函數同時可以直接調用的數組, 不過最好先在def __init__中聲明這個數組
以上這篇對Python中數組的幾種使用方法總結就是小編分享給大家的全部內容了

D. python中列表全部賦0

>>> list=[0]
>>> list=list*100
>>> list
[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, 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, 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]
>>> len(list)
100

E. python怎麼初始化二維數組

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

1
2

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

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

F. 在python中初始化一個固定大小的數組如何實現

視情況而定

如果你的數組是追加一個元素的可以不用定義長度

如果你初始化一個列表然後要修改其中的值的話,就要定義長度了。

舉個例子吧

a = []
for i in range(10):
a.append(i)
print a

b = [0 for i in range(10)] #也可以b = [0]*10
for i in range(10):
b[i]=i
print b

G. python數組初始化

YTN數據初始化這個初始化的具體方式也是非常多的。

H. 用python編程我想建立一個數組。。。就是初始值是0然後隨著循環遞加。。。然後根據要求輸出有效值。。。

可以的
for i in range(0,20):
print i
看你要編什麼程序了,有C的基礎應該比較容易了,看過教程就能簡單上手了

I. python的數組怎麼用

Python 的基本數據類型中並沒有數組,只有與數組相似的類型list
使用list的時候往往不需要事先聲明,但在某些特殊情況下需要事先定義
通常的事先定義為:
l = []
如果需要初始化list中的元素可以這樣定義
l = [0] * 10
print l
# >>> [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

J. 初始化一個列表 python

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 for i in range(5)] # 推薦
#print list3
#[1,1,1,1,1]
list4 = [initVal] * listLen
#print list4
#[1,1,1,1,1]
4.初始化一個5x6每項為0(固定值)的數組(推薦使用):
multilist = [[0 for col in range(5)] for row in range(6)] # 推薦
5.初始化一個5x3每項為0(固定值)的數組
multilist = [[0] * 5 for row in range(3)]
看到了以上的方法,那初始化一個二維數組時,是否可以這樣做呢:
multi = [[0] * 5] * 3
其實,這樣做是不對的,因為[0] * 5是一個一維數組的對象,* 3的話只是把對象的引用復制了3次,比如,我修改multi[0][0]:
multi = [[0] * 5] * 3
multi[0][0] = 'Hello'
print multi
輸出的結果將是:
[['Hello', 0, 0, 0, 0], ['Hello', 0, 0, 0, 0], ['Hello', 0, 0,0, 0]]
我們修改了multi[0][0],卻把我們的multi[1][0],multi[2][0]也修改了。這不是我們想要的結果。
但是如下寫法是對的:
multilist = [[0] * 5 for row in range(3)]
multilist[0][0] = 'Hello'
print multilist
我們看輸出結果:
[['Hello', 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]
恩,沒問題。但是,由於使用 * 的方法比較容易引起混淆導致Bug,所以還是推薦使用上面方法4,即:
multilist = [[0 for col in range(5)] for row in range(6)]

閱讀全文

與python數組初始化全0相關的資料

熱點內容
php開源留言板 瀏覽:49
新鄉市區疫情怎麼查詢app 瀏覽:158
我的世界伺服器怎麼弄圖 瀏覽:999
vc6的編譯框 瀏覽:198
程序員寫照 瀏覽:539
怎麼退出github伺服器版本 瀏覽:797
雲伺服器sip 瀏覽:910
對稱平衡型壓縮機 瀏覽:953
rust連接什麼伺服器 瀏覽:382
php刪除數組的空元素 瀏覽:74
有什麼古今翻譯的app 瀏覽:54
華為平板里的app熱門推薦怎麼關閉 瀏覽:731
kindle可以看pdf嗎 瀏覽:620
小米文件夾變小 瀏覽:324
為什麼安卓系統不設計橫屏 瀏覽:686
myeclipse編譯文件 瀏覽:586
水果解壓視頻教程 瀏覽:207
單片機控制的大一點的車 瀏覽:640
程序員中的榮譽 瀏覽:272
java的封裝性 瀏覽:387