亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Python > 正文

python中a+=b與a=a+b有什么區別

2019-11-06 06:50:54
字體:
來源:轉載
供稿:網友

看到一個比較有意思的問題,就是python中a+=b與a=a+b有什么區別

鏈接: http://stackoverflow.com/questions/6951792/python-a-b-not-the-same-as-a-a-b

總體上講,a+=b是改變了a原始的值,而a=a+b是計算出a+b后,a在指向那個值。這個也跟a和b的類型有關。當a和b是int或者string不可改變的時候,二者效果一樣。

>>> a=[1,2,3,4] >>> b=a >>> a+=[5] >>> a,b ([1, 2, 3, 4, 5], [1, 2, 3, 4, 5])#a,b的“地址”一樣 >>> a=[1,2,3,4] >>> b=a >>> a=a+[5]#a+[5]后有一個新地址,再使a指向這個新地址,因此a不再是以前的a,而b還是以前的那個a//b,所以b不變 >>> a,b ([1, 2, 3, 4, 5], [1, 2, 3, 4])
>>> a=[[1],[2]] >>> b=[] >>> b+=a[0:1]#這句將列表a中第一個元素的“指針”給了b[0],此時a[0]和b[0]是一樣的 >>> a,b ([[1], [2]], [[1]]) >>> b[0][0]='change'#b[0]就相當于取到了a里面的第一個元素,也是一個列表。b[0][0]也就定位到了a[0][0],對應的內容就是1 >>> a,b ([['change'], [2]], [['change']])#因此b[0][0]改了,a[0][0],也相應的改了。 >>> id(b[0][0]);id(a[0][0])#不用說,地址一樣 11534048 11534048 >>> id(b[0]);id(a[0]) 12903888 12903888 >>> b[0],a[0] (['change'], ['change']) >>> b[0]='another'#這里應該是有一塊新地址,再讓b[0]指向這個新地址。  >>> a,b ([['change'], [2]], ['another'])# 因此a中的值沒有變>>> a[0] ['change'] >>> id(b[0]);id(a[0]) #此時,b[0]跟a[0]的地址不一樣13056672 12903888
>>> a=[1,2]#初始化a,為列表[1,2]>>> a+='3' #直接+=方式,追加元素”3”>>> a[1, 2, '3']>>> a+=['4'] #追加列表,比上面的‘3’ 多了個[]。>>> a[1, 2, '3', '4']#同樣能追加成功,怎么感覺有無[]沒有區別啊?>>> a+'5'#當然,直接+字符串,就拋異常了。Traceback (most recent call last):  File "<stdin>", line 1, in <module>TypeError: can only concatenate list (not "str") to list

要解釋這個問題,看看python里的源碼即可。知道+=這個操作實際上是調用了__iadd__方法(可以用此重載操作符,stackoverflow上有這個重載+=的問題).而在__iadd__方法內部,是直接調用了extend()方法,而a.extend(‘3’)和a.extend([‘3’])沒有區別嗎?表面上看來是沒有區別的。

>>> a=[1,2]>>> a.extend('3')>>> a[1, 2, '3']>>> a.extend(['3'])>>> a[1, 2, '3', '3']而實際上,在extend(arg)方法內部,又去調用了append方法

def extend(self, values):        for v in values:            self.append(v)

這樣,’3’ 和 [‘3’] 就沒區別被append進去了。字符串會被當作數組append進去。

>>> a[1, 2, '3', '3']>>> a.extend('abc')>>> a[1, 2, '3', '3', 'a', 'b', 'c']>>> a.extend(['23','ab'])>>> a[1, 2, '3', '3', 'a', 'b', 'c', '23', 'ab']參考文獻:

http://stackoverflow.com/questions/6951792/python-a-b-not-the-same-as-a-a-b

https://my.oschina.net/sukai/blog/616652


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲人成电影在线观看天堂色| 日韩免费观看高清| 欧美一级黄色网| 日韩视频免费在线观看| 久久亚洲影音av资源网| 久久久久久亚洲| 国产精品久久久久999| 国产中文字幕日韩| 日韩电影大片中文字幕| 欧美一级淫片aaaaaaa视频| 91地址最新发布| 国产精品日韩在线一区| 成人av在线天堂| 91精品久久久久久久| 亚洲电影中文字幕| 97视频色精品| 91精品久久久久久久久青青| 亚洲最大的网站| 国产伊人精品在线| 中文字幕欧美日韩va免费视频| 国产精品久久av| 亚洲午夜精品久久久久久久久久久久| 日韩中文有码在线视频| 国产成人精品国内自产拍免费看| 精品网站999www| 久久久久日韩精品久久久男男| 91av在线免费观看| 亚洲国产精品久久久| 色综合色综合久久综合频道88| 久久九九亚洲综合| 综合久久五月天| 国产精品久久久久久久app| 亚洲成人激情在线| 青青草成人在线| 国产精品免费一区| 96精品久久久久中文字幕| 亚洲人午夜色婷婷| 日韩免费av在线| 欧美劲爆第一页| 亚洲**2019国产| 美女999久久久精品视频| 日韩久久午夜影院| 亚洲精品国产美女| 欧美多人乱p欧美4p久久| 欧美精品在线第一页| 国产噜噜噜噜久久久久久久久| 在线观看欧美www| 久久久天堂国产精品女人| 国产精品va在线播放我和闺蜜| 欧美高清理论片| 国产欧美一区二区三区在线看| 色偷偷亚洲男人天堂| 91精品国产色综合久久不卡98口| 亚洲人成网站免费播放| 在线亚洲欧美视频| 欧美日韩一区二区三区在线免费观看| 国产主播欧美精品| 欧美激情一级二级| 国产日韩精品在线观看| 亚洲男人av电影| 成人网欧美在线视频| www.美女亚洲精品| 精品国产91久久久久久老师| 午夜精品在线视频| 久久精品国产亚洲精品| 91香蕉电影院| 国产视频精品久久久| 亚洲第一av网| 亚洲第一在线视频| 韩国国内大量揄拍精品视频| 国产精品一区二区久久精品| 亚洲福利精品在线| 亚洲深夜福利视频| 欧美性猛交xxxx免费看久久久| 久久精品国产99国产精品澳门| 一区二区三区视频在线| 国产精品亚洲аv天堂网| 九九久久国产精品| 欲色天天网综合久久| 国产精品夜色7777狼人| 国产精品成人va在线观看| 97精品在线观看| 亚洲精品短视频| 精品成人69xx.xyz| 97av在线视频| 国外成人在线视频| 91高清视频免费| 国产成人福利视频| 9.1国产丝袜在线观看| 国产精品视频网| 久久精品国产综合| 欧美在线视频一区二区| 日韩精品视频免费| 色伦专区97中文字幕| 欧美精品在线观看91| 欧美性xxxx极品高清hd直播| 国产精品v片在线观看不卡| 欧美性猛交99久久久久99按摩| 日韩精品中文字幕视频在线| 亚洲电影免费观看高清完整版在线观看| 国产精品一香蕉国产线看观看| 日韩免费中文字幕| 久久69精品久久久久久国产越南| 91国产视频在线播放| 亚洲欧美日韩中文在线| 国产视频精品一区二区三区| 大桥未久av一区二区三区| 中文字幕精品视频| 日韩成人在线网站| 国产自摸综合网| 精品成人国产在线观看男人呻吟| 亚洲老头同性xxxxx| 日韩美女免费观看| 国产精品第1页| 国产亚洲成精品久久| 日本精品一区二区三区在线| 国产欧美一区二区三区在线| 亚洲日本中文字幕| 亚洲日本中文字幕免费在线不卡| 色老头一区二区三区在线观看| 国产精品激情av电影在线观看| 欧美成aaa人片在线观看蜜臀| 亚洲第一免费网站| 欧美极品xxxx| 国产91露脸中文字幕在线| 亚洲福利小视频| 午夜精品久久久久久久久久久久久| 亚洲性线免费观看视频成熟| www.亚洲男人天堂| y97精品国产97久久久久久| 日韩电视剧在线观看免费网站| 青青久久av北条麻妃海外网| 亚洲精品www久久久久久广东| 91精品国产成人www| 亚洲free性xxxx护士hd| 亚洲免费视频一区二区| 成人h视频在线| 中文字幕亚洲激情| 国产欧美精品一区二区| 中文字幕av日韩| 色综合男人天堂| 色伦专区97中文字幕| 91在线精品播放| 庆余年2免费日韩剧观看大牛| 精品久久久久久中文字幕一区奶水| 一本一本久久a久久精品牛牛影视| 久久久久久久久电影| 国产成人精品优优av| 国产日韩欧美视频在线| 国产精品视频成人| 欧美日韩国产麻豆| 国产成人aa精品一区在线播放| 国产97在线观看| 日韩视频在线免费| 亚洲级视频在线观看免费1级| 久久成人综合视频| 97超级碰碰人国产在线观看| 97免费在线视频| 亚洲欧洲日本专区| 亚洲精品欧美日韩| 国产一区二区成人| 国产精品日韩欧美综合| 久久伊人精品一区二区三区| 欧美激情精品久久久久|