JS數組方法與python列表方法的比較
阿新 • • 發佈:2018-12-27
pan 第一個 -i 插入元素 長度 remove spa splice result
JS的數組(Array)與python的列表(List)很相似,本人因為之前學過JS,後來學習python感覺有些方法很容易混淆,這裏對常用的一些方法做些區分
- 增
- 刪
- 改
- 查
- 排序
- 逆序
增加元素
1.添加元素到末尾
Array.push(x1, x2, x3, ...); //javascript中,可將1個或多個元素一次性添加到原數組末尾,原數組改變,返回值為原數組新長度
List.append(x) #python中,一次只能添加1個元素到原列表末尾,原列表改變,無返回值
2.添加數組(或列表)到末尾
Array.concat(x1, x2, x3, ...); //javascript中,參數可以是數組或元素,原數組不變,僅返回值有用
aList.extend(bList) #python中,參數只能是列表不能是元素,一次只能接收一個參數,原列表改變,無返回值
3.添加元素到開頭(僅javascript)
Array.unshift(x1, x2, x3, ...) //x1變成第一個元素,x2變成第二個..... 原數組改變,返回值為新長度 //python中無相應的內置方法
4.從中間插入元素(僅python)
List.insert(index, x) #python中,其實可以向列表任意位置入插元素,index是要插入位置的索引號,x為要插入的元素,原列表改變,無返回值
#javascript中無相應的內置方法
#python中獲取索引號用 List.index(x) 而js中indexOf一般用於字符串 string.indexOf(),數組的indexOf()查找的是嚴格等於"==="的索引號
刪除元素
1.在末尾刪除元素(JS實現)
Array.pop() //js代碼,原數組改變,返回值為被刪掉的末尾的元素
2.在開頭刪除元素(JS實現)
Array.shift() //刪除數組的第一個元素,原數組改變,返回值為被刪掉的第一個元素
3.在任意位置刪除元素
Array.splice(index, howmany, item1,....., itemX) //js代碼 index必需 howmany必需 item1,....., itemX可選 //刪除從 index 處開始的零個或多個元素,並添加item1,....itemX這些元素 原數組改變,返回值是被刪除元素的數組。
List.pop(index) #python代碼 index(可選)為要移除列表元素的索引值,不能超過列表總長度-1,默認index=-1,原列表改變,返回值為被刪掉的元素
del(List(index))
4.刪掉列表中某個值(python實現)
List.remove(x) #x為要刪掉的值,但只會刪掉第一個匹配到的x值 原列表改變,無返回值
修改(JS/python通用)
a[index] = x;
查詢(切片)
Array.slice(index1, index2) //js代碼: 取半開區間[index1, index2)之間的元素,一共有index2-index1個,原數組不變,返回值就是切片區間的元素組成的數組
List[index1:index2:step] #python代碼 index1必需 index2可選 step可選 同樣也是半開區間[index1,index2) #原列表沒變化 返回一個子列表
排序
Arrat.sort(sortby) //js代碼 sortby可選 將原數組各元素按字符順序排列 返回值就是排序後的數組 純數字想按順序排列必須要傳參數
list.sort(cmp=None, key=None, reverse=False) #python代碼 三個參數均為可選 reverse=False代表升序排列,若手動改為True則為降序排列,功能同reverse()方法 原列表改變,無返回值
逆序
Array.reverse() //js代碼 將原數組逆序,返回值就是原數組逆序後的結果 //Array.reverse() === Array result is true
List.reverse() #python代碼 將原列表逆序 無返回值
JS數組方法與python列表方法的比較