>>alist=[range(3)]*4>>>alist[[0,1,2],[0,1,2],[0,1,2],[0,1,2]]上面初始化一個二層列表用來模擬矩陣,該矩陣式4X3的,為描述方便,這里記矩陣為A。現在我想給A1" />

亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

深入理解Python中的*重復運算符

系統 2142 0

在python中有個特殊的符號“*”,可以用做數值運算的乘法算子,也是用作對象的重復算子,但在作為重復算子使用時一定要注意

注意的是:*重復出來的各對象具有同一個id,也就是指向在內存中同一塊地址,在對各個對象進行操作是一定要注意。

舉例來說:

            
>>> alist = [range(3)]*4
>>> alist
[[0, 1, 2], [0, 1, 2], [0, 1, 2], [0, 1, 2]]
          

上面初始化一個二層列表用來模擬矩陣,該矩陣式4X3的,為描述方便,這里記矩陣為A。

現在我想給A11賦值為1,用下面的代碼:

            
alist[0][0]=1
          

那我們想要的結果應該是:

            
[[1, 1, 2], [0, 1, 2], [0, 1, 2], [0, 1, 2]]
          

可是很不幸,我們得到的是:

            
[[1, 1, 2], [1, 1, 2], [1, 1, 2], [1, 1, 2]]
          

這是怎么回事呢,為什么給A21賦值,其他的Ai1為什么都跟著變了呢?

原因是這樣的:

文章開始的時候我們已經說過了,*重復出來的各對象具有同一個id,也就是指向在內存中同一塊地址,在對各個對象進行操作是一定要注意。

我們再初始化的時候用了重復算子"*",這個操作符在對對象進行重復操作時,會將重復的所有對象都指向同一塊內存地址,所有當你改變其中的一個值時,其他的值自然也會更新,用python的話進行解釋就是下面的命令及輸出:

            
>>> id(alist[0])
18858192
>>> id(alist[1])
18858192
>>> id(alist[2])
18858192
>>> id(alist[3])
18858192
>>>
          

看到了吧,id都是一樣滴,也就是說這4個list是同一個“list”。

既然這樣那我們想要模擬一個矩陣怎么辦呢,除了有專門的numpy包之外,你當然可以給上層list逐個的append新的list,例如:

            
>>> blist=[]
>>> for i in range(4):
  blist.append([j for j in range(3)])
>>> blist
[[0, 1, 2], [0, 1, 2], [0, 1, 2], [0, 1, 2]]
          

這樣,我們再試試上面的賦值操作:

            
>>> blist[0][0]=1
>>> blist
[[1, 1, 2], [0, 1, 2], [0, 1, 2], [0, 1, 2]]
>>>
          

總結

以上就是本文關于深入理解Python中的*重復運算符的全部內容,希望對大家有所幫助。感興趣的朋友可以繼續參閱本站:13個最常用的Python深度學習庫介紹、python探索之BaseHTTPServer-實現Web服務器介紹等,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 亚洲国产精品综合欧美 | 国产深夜视频 | 免费爱爱片 | 国产精品爱久久久 | 亚洲自拍第二页 | 久草婷婷在线 | 俄罗斯毛片免费大全 | 国产一区二区三区精品视频 | 国产第一页久久亚洲欧美国产 | v片视频| 天天想夜夜操 | 国产高清国内精品福利 | 69成人网 | 成人欧美精品一区二区不卡 | 亚洲激情在线 | 日韩我不卡 | 四虎影视在线观看2022a | 99热成人精品热久久669 | 日日爽日日操 | 亚洲欧美18v中文字幕高清 | 亚洲高清一区二区三区久久 | 天天射天天做 | 色之综合网| 国产精品视频色拍拍 | 欧美一区二区三区视频在线观看 | 夜色视频一区二区三区 | 久草免费资源视频 | 草久在线 | 亚洲精品国产成人专区 | 日韩精品你懂的在线播放 | 日本高清不卡免费 | 久久精品视 | 午夜国产福利 | 视频一区二区国产 | 国产亚洲第一伦理第一区 | 日韩xx00| 高清一级做a爱过程免费视频 | 欧美日韩久久中文字幕 | 黄色成人在线观看 | 欧美一级视频在线观看欧美 | 四虎影院永久在线 |