Python中 nums[:] 和 nums 的区别

nums[:] 指向数组中的元素

nums    指向数组本身

例子:

  • 代码1:
num1 = [1,2,3,4,5,6]
num2 = num1

num1 = num1[:5]
print('num1',num1)
print('num2',num2)

代码1运行的结果如下:

num1 [1, 2, 3, 4, 5]
num2 [1, 2, 3, 4, 5, 6]
  • 代码2:
num1 = [1,2,3,4,5,6]
num2 = num1

num1[:] = num1[:5]
print('num1',num1)
print('num2',num2)

代码2运行的结果如下:

num1 [1, 2, 3, 4, 5]
num2 [1, 2, 3, 4, 5]

num2 在实例化时默认引用了和 num1 相同的元素,因此修改 num1 中的元素也会改变 num2 ;

但如果先对 num1 进行操作,num2 就会与 num1 独立开来,例子如下:

  • 代码3:
num1 = [1,2,3,4,5,6]
num2 = num1

num1[:] = num1[:5]
num1 = num1[:4]
num1[:] = num1[:3]

print('num1',num1)
print('num2',num2)

代码3的运行结果如下:

num1 [1, 2, 3]
num2 [1, 2, 3, 4, 5]

 在刷题时遇到了此类问题,记录下来,供大家参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值