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取决于你想要达到的效果。

相关推荐
WJX_KOI37 分钟前
Open Notebook 一个开源的结合AI的记笔记软件
python
喜欢吃燃面1 小时前
Linux:环境变量
linux·开发语言·学习
0思必得01 小时前
[Web自动化] 反爬虫
前端·爬虫·python·selenium·自动化
徐徐同学2 小时前
cpolar为IT-Tools 解锁公网访问,远程开发再也不卡壳
java·开发语言·分布式
LawrenceLan2 小时前
Flutter 零基础入门(二十六):StatefulWidget 与状态更新 setState
开发语言·前端·flutter·dart
2301_822382762 小时前
Python上下文管理器(with语句)的原理与实践
jvm·数据库·python
m0_748229992 小时前
Laravel8.X核心功能全解析
开发语言·数据库·php
喵手2 小时前
Python爬虫实战:从零搭建字体库爬虫 - requests+lxml 实战采集字体网字体信息数据(附 CSV 导出)!
爬虫·python·爬虫实战·零基础python爬虫教学·csv导出·采集字体库数据·字体库字体信息采集
qq_192779872 小时前
C++模块化编程指南
开发语言·c++·算法
2301_790300963 小时前
Python深度学习入门:TensorFlow 2.0/Keras实战
jvm·数据库·python