js python 对比_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代码 将原列表逆序 无返回值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值