【Python有坑系列】交換兩個陣列的切片,有坑
問題描述:
交換陣列a和陣列b的前5個元素,如果用C語言思路寫,會發現有坑:
a=np.zeros(10)
b=np.ones(10)
t=a[:5]
a[:5]=b[:5]
b[:5]=t
a
array([1., 1., 1., 1., 1., 0., 0., 0., 0., 0.])
b
array([1., 1., 1., 1., 1., 1., 1., 1., 1., 1.])
顯然,b陣列的前五個元素指向a的前五個元素的地址,因此b保持不變。
這個問題特別容易發生在:遺傳演算法-交叉過程-部分匹配交叉(Partially Matched Crossover (PMX))
相關文章
- 【Python有坑系列】numpy.append中有坑PythonAPP
- 想換坑了有沒有坑位
- 避坑手冊!Python 對比兩個 datetime 大小的坑Python
- 比較兩個陣列中是否有相同的元素陣列
- mysql交換兩行或兩列的值MySql
- Python面試技巧-交換兩個元素的值Python面試
- python多維陣列切片方法Python陣列
- 新做了一個 Blog,有沒有交換友鏈的
- 349.兩個陣列的交集|python陣列Python
- vue陣列操作遇到坑-關於陣列操作Vue陣列
- golang—踩坑之切片Golang
- Go 切片繞坑指南Go
- 前端保留兩位小數toFixed(2)會有坑前端
- python切片有哪些特徵Python特徵
- 交換兩個變數變數
- React兩個bug踩坑React
- 準備跑路有沒有坑位
- 關於 JS 陣列,物件 length 使用的坑JS陣列物件
- 關於 ulimit 的兩個天坑MIT
- Go 陣列&切片Go陣列
- Go語言系列(三)之陣列和切片Go陣列
- 【Python】python 基礎語法之列表、n維陣列的變換(取反(逆序)\切片等)Python陣列
- 交換兩個整型變數變數
- Flutter填坑指南,總有一個遇得到。Flutter
- 異或交換兩個數的值
- JavaScript實現兩個數的交換JavaScript
- Swift交換兩個變數的值Swift變數
- JS陣列的幾個有逼格操作JS陣列
- php陣列的分類有哪幾個PHP陣列
- Gopher必讀:HttpClient的兩個坑位GoHTTPclient
- 十二個坑爹的Python陷阱Python
- [Python手撕]兩個升序陣列的中位數Python陣列
- go陣列與切片Go陣列
- 七、陣列與切片陣列
- go(5)陣列,切片。Go陣列
- 請你告訴我合併兩個陣列,你有多少種方法陣列
- 交換兩個資料的三種方法
- 坑爹的Python陷阱(避坑指南)Python