执行 `lst.append(40)` 后,列表 `lst` 从 `[10, 20, 30]` 变为 `[10, 20, 30, 40]`,长度由 3 增加到 4

执行 lst.append(40) 后,列表 lst[10, 20, 30] 变为 [10, 20, 30, 40],长度由 3 增加到 4。

因此,正确答案是:B. 4

append()extend() 都是列表的原地修改方法,但核心区别在于添加方式不同

  • append(object):将整个对象作为单个元素添加到列表末尾。
    例如:

    lst = [1, 2, 3]
    lst.append([4, 5])
    # 结果:[1, 2, 3, [4, 5]] → 长度变为 4,嵌套了一个列表
    
  • extend(iterable):将可迭代对象(如列表、元组、字符串等)中的每个元素逐一添加到列表末尾。
    例如:

    lst = [1, 2, 3]
    lst.extend([4, 5])
    # 结果:[1, 2, 3, 4, 5] → 长度变为 5,无嵌套
    

⚠️ 注意:

  • extend() 要求参数必须是可迭代对象,传入非迭代对象(如整数 lst.extend(4))会报 TypeError
  • append() 可接受任意类型对象(包括可迭代对象),不会解包。

lst.append("abc")lst.extend("abc") 的结果有本质区别,源于字符串 "abc" 在两种方法中被对待方式不同

  • lst.append("abc"):将整个字符串 "abc" 作为一个元素添加到列表末尾。
    示例:

    lst = [1, 2]
    lst.append("abc")
    # 结果:[1, 2, "abc"] → 长度 +1,新增一个字符串元素
    
  • lst.extend("abc"):将字符串 "abc" 视为可迭代对象(字符序列),逐个字符添加(即 'a', 'b', 'c')。
    示例:

    lst = [1, 2]
    lst.extend("abc")
    # 结果:[1, 2, 'a', 'b', 'c'] → 长度 +3,新增三个字符元素
    

✅ 关键点:

  • 字符串是可迭代对象(iter("abc") 产生 'a', 'b', 'c');
  • append() 不解包,extend() 自动解包并迭代。
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Bol5261

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值