欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

Python中多維List創(chuàng)建的示例分析-創(chuàng)新互聯(lián)

這篇文章將為大家詳細(xì)講解有關(guān)Python中多維List創(chuàng)建的示例分析,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

成都創(chuàng)新互聯(lián)主營彭州網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,App定制開發(fā),彭州h5小程序開發(fā)搭建,彭州網(wǎng)站營銷推廣歡迎彭州等地區(qū)企業(yè)咨詢

背景

最近在學(xué)Python,我覺得學(xué)習(xí)一個(gè)新語言最好的方式就是寫一個(gè)簡單的項(xiàng)目,所以就打算寫一個(gè)簡單的俄羅斯方塊游戲。那么在寫的過程中遇到了一個(gè)小問題。

 def __init__(self, width = 10, height = 30):
  self.width, self.height = width, height
  self.board_size = [width, height]

我用一個(gè)二維List來記錄游戲空間的狀態(tài),game_boardx代表一個(gè)格子,0代表這格子是空的,1代表不是。很顯然,初始化的時(shí)候應(yīng)該將所有的格子都賦值為0。查詢了一下List的相關(guān)文檔,發(fā)現(xiàn)可以用[0] * n這樣的方式來快速創(chuàng)建特定長度的List,因此很自然的寫出了下面這行代碼。

self.game_board = [[0] * height] * width

查看一下結(jié)果,確實(shí)創(chuàng)建了長寬符合預(yù)期、值全部都是0的一個(gè)二維List,感覺沒什么問題,就接著往下寫了。

問題

但這兩天在寫消除方法的時(shí)候,使用最下面3排全是1,第四排中間是1其他全是0,這樣消除完成之后應(yīng)該還剩1個(gè)1掉落到第一排。但測試過程中發(fā)現(xiàn)無論如何都會導(dǎo)致所有的1都被消除了,一開始我還以為是消除的算法有問題,但后來在每一步過程中都監(jiān)控整個(gè)game_board的狀態(tài)時(shí)才發(fā)現(xiàn),當(dāng)一橫排有一個(gè)值為1的時(shí)候,這一橫排所有值都自動(dòng)變成1了。

解決

很自然的就想到,這是由于List對象的引用產(chǎn)生的。[0] * height產(chǎn)生了長度為height并且內(nèi)容全是0的List,由于0是個(gè)int,是基礎(chǔ)數(shù)據(jù)類型,因此這樣使用是正確的。但用這個(gè)List去進(jìn)行* width操作時(shí),產(chǎn)生的都是這個(gè)List的引用,而不是新建了width個(gè)List,所以修改其中任意一個(gè)就全部都修改了。

經(jīng)過查閱Python文檔,將代碼修改為:

self.game_board = [([0] * height) for i in range(width)]

測試發(fā)現(xiàn)問題解決。

創(chuàng)建二維數(shù)組的辦法

直接創(chuàng)建法

test = [0, 0, 0], [0, 0, 0], [0, 0, 0]]

簡單粗暴,不過太麻煩,一般不用。

列表生成式法

test = [[0 for i in range(m)] for j in range(n)]

學(xué)會使用列表生成式,終生受益。

使用模塊numpy創(chuàng)建

import numpy as np
test = np.zeros((m, n), dtype=np.int)

關(guān)于“Python中多維List創(chuàng)建的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯(cuò),請把它分享出去讓更多的人看到。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

當(dāng)前文章:Python中多維List創(chuàng)建的示例分析-創(chuàng)新互聯(lián)
文章起源:http://aaarwkj.com/article20/phsco.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、用戶體驗(yàn)、品牌網(wǎng)站設(shè)計(jì)網(wǎng)頁設(shè)計(jì)公司、軟件開發(fā)、靜態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司
国产高清剧情av网站| 日本在线视频精品一区| 国产精品黄色自拍合集| 91白丝视频在线观看| 风间由美亚洲一区二区三区| 国产女同互慰一区二区| 国内熟妇人妻色在线三级| 日韩国产欧美亚洲一区| 欧美三级影院网上在线| 日韩精品一区二区三区人妻视频 | 日韩视频精品推荐一区二区| 亚洲成人av网址大全| 国产精品伦理一区二区三区| 久久婷亚洲综合五月天| 五月婷婷六月丁香综合激情| 欧美成人精品资源在线观看| 精品少妇人妻久久av免费| 国产日韩欧美亚洲一区二区| 91久久国产免费网站| 美女在线免费观看av| 乱熟av一区二区三区| 成年午夜福利片在线观看| 四虎精品视频在线免费| 日本免费91午夜视频| 欧美在线观看日韩精品| 人妻中出中文字幕一区| 午夜福利成人在线免费观看 | 成人自拍偷拍在线视频| 亚洲成人爱情动作片在线观看| 免费在线观看日韩av大片| 国产亚洲美女在线视频视频| 人妻久久久久久精品99| 亚洲国产精品一区二区av| 中文字幕欧美日韩人妻| 日韩国产精品亚洲欧美在线| 免费国产污网站在线观看| 久久夜色精品亚洲国产| 欧美福利免费在线视频| 99热精品综合在线观看| 在线国产丝袜自拍观看| 中文字幕中文字幕久久不卡|