1. 程式人生 > >JS數組方法與python列表方法的比較

JS數組方法與python列表方法的比較

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列表方法的比較