鱼C论坛

 找回密码
 立即注册
查看: 2342|回复: 2

[已解决]已知 x = [3, 5, 7],那么执行语句 x[:3] = [2]之后,x的值为_________。

[复制链接]
发表于 2021-10-29 16:14:12 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
为什么结果是[2],能不能详细说明
最佳答案
2021-10-29 16:30:42
x[:3]就是x的前三项,x[:3]=[2]就是把x的前三项替换为[2]里的值
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-10-29 16:30:42 From FishC Mobile | 显示全部楼层    本楼为最佳答案   
x[:3]就是x的前三项,x[:3]=[2]就是把x的前三项替换为[2]里的值
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-29 16:44:02 | 显示全部楼层
这个小甲鱼作业好像有讲过不过那个例子是 s[:]
  1. >>> x = [3, 5, 7]
  2. >>> x[:] == x[:3]
  3. True
复制代码

但你这题a[:] 和 a[:3]是一样的,列表在经行多元素的赋值时,会先删除原列表对应的元素,然后再进行赋值操作
x[:] = y,如果y是可迭代的,那么就会迭代y的元素给x[:]赋值
比如当x赋值元素等于y长度时
  1. a=[1,2,3,4,5,6]
  2. >>> a[2:4] = "ab"
  3. >>> a
  4. [1, 2, 'a', 'b', 5, 6]
复制代码

当x赋值元素少于y长度时
  1. x=[1,2,3,4,5,6]
  2. >>> x[2:4] = "fishc"
  3. >>> x
  4. [1, 2, 'f', 'i', 's', 'h', 'c', 5, 6]
复制代码

当当x赋值元素多于y长度时
  1. x=[1,2,3,4,5,6]
  2. >>> x[1:4] = "fi"
  3. >>> x
  4. [1, 'f', 'i', 5, 6]
复制代码

这题就是第三种情况
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-28 03:06

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表