python的extend和append

在Python中,listappendextend方法都是用来向列表添加元素的,但它们之间有一些关键的区别:

  1. append方法

    • append方法用于将一个对象添加到列表的末尾。
    • 无论添加的对象是什么类型(整数、字符串、列表等),它都会被作为一个单独的元素添加到列表中。
    • 如果添加的对象是可迭代的(如另一个列表),那么这个对象会被作为一个整体添加到列表的末尾。

    示例

    python 复制代码
    my_list = [1, 2, 3]
    my_list.append(4)  # 添加一个元素
    print(my_list)  # 输出: [1, 2, 3, 4]
    
    my_list.append([5, 6])  # 添加一个列表作为单个元素
    print(my_list)  # 输出: [1, 2, 3, 4, [5, 6]]
  2. extend方法

    • extend方法用于将一个可迭代对象的所有元素添加到列表的末尾。
    • extend方法会将可迭代对象中的每个元素逐个添加到列表中,而不是作为一个整体。
    • 如果传入的参数不是可迭代对象,将会抛出TypeError

    示例

    python 复制代码
    my_list = [1, 2, 3]
    my_list.extend([4, 5])  # 添加一个列表中的所有元素
    print(my_list)  # 输出: [1, 2, 3, 4, 5]
    
    my_list.extend('ab')  # 将字符串中的每个字符作为元素添加
    print(my_list)  # 输出: [1, 2, 3, 4, 5, 'a', 'b']

总结

  • 使用append时,添加的对象作为单个元素整体添加到列表末尾。
  • 使用extend时,可迭代对象中的每个元素分别添加到列表末尾。

选择使用append还是extend取决于你想要达到的效果。

相关推荐
咖啡の猫14 分钟前
Python中的变量与数据类型
开发语言·python
前端达人15 分钟前
你的App消息推送为什么石沉大海?看Service Worker源码我终于懂了
java·开发语言
汤姆yu27 分钟前
基于springboot的电子政务服务管理系统
开发语言·python
全栈师36 分钟前
C#中控制权限的逻辑写法
开发语言·c#
S***q1921 小时前
Rust在系统工具中的内存安全给代码上了三道保险锁。但正是这种“编译期的严苛”,换来了运行时的安心。比如这段代码:
开发语言·后端·rust
执笔论英雄1 小时前
【RL】python协程
java·网络·人工智能·python·设计模式
打点计时器1 小时前
matlab 解决wfdb工具使用本地数据集报错
开发语言·matlab
zmzb01031 小时前
C++课后习题训练记录Day38
开发语言·c++
夏霞1 小时前
c# 使用vs code 创建.net8.0以及.net6.0 webApi项目的教程
开发语言·c#·.net
T***u3332 小时前
Rust在Web中的 Web框架
开发语言·后端·rust