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


JS的數組(Array)與python的列表(List)很相似,因為之前學過JS,后來學習python感覺有些方法很容易混淆,這里對常用的一些方法做些區分

  • 排序
  • 逆序

增加元素

1.添加元素到末尾

Array.push(x1, x2, x3, ...); 
//javascript中,可將1個或多個元素一次性添加到原數組末尾,原數組改變,返回值為原數組新長度
//js中,數組也可以作為元素,即可以把其他數組作為參數添加到原數組中
List.append(x)
#python中,一次只能添加1個元素到原列表末尾,原列表改變,無返回值

2.添加數組(或列表)到末尾

Array.concat(x1, x2, x3, ...);
//javascript中,參數可以是數組或元素,原數組不變,僅返回值有用
//如果要進行 concat() 操作的參數是數組,那么添加的是數組中的元素,而不是數組。
aList.extend(bList)
#python中,參數只能是列表不能是元素,一次只能接收一個參數,原列表改變,無返回值

3.添加元素到開頭(僅javascript)

Array.unshift(x1, x2, x3, ...)
//x1變成第一個元素,x2變成第二個.....  原數組改變,返回值為新長度
//python中無相應的內置方法

4.從中間插入元素

Array.splice(index,howmany,item1,.....,itemX)
//js中的splice是個多功能方法,不僅能刪而且能增,直接對原數組操作
//返回的是被刪掉的元素組成的數組(如果有被刪的)
List.insert(index, x)
#python中,其實可以向列表任意位置入插元素,index是要插入位置的索引號,x為要插入的元素,原列表改變,無返回值
#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個,原數組不變,返回值就是切片區間的元素組成的數組
//index1可選 默認0 index2可選 -1表示倒數第一個元素, -2表示倒數第二 如果不指定index2,則會從index1一直取到結尾的所有元素
//可以用array.slice(-1)[0]得到數組最后一個元素
List[index1:index2:step]
#python代碼  index1和index2必需至少有一個  step可選  同樣也是半開區間[index1,index2)
#原列表沒變化  返回一個子列表

排序

Array.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代碼   將原列表逆序   無返回值

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM