JS数组方法与python列表方法的比较

Posted Love_night

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS数组方法与python列表方法的比较相关的知识,希望对你有一定的参考价值。

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列表方法的比较的主要内容,如果未能解决你的问题,请参考以下文章

几个关于js数组方法reduce的经典片段

几个关于js数组方法reduce的经典片段

js注意点:数组比较大小方法及数组与对象的区别

js数组高阶方法reduce经典用法代码分享

js数组高阶方法reduce经典用法代码分享

python列表之append与extend方法比较