找回密码
 会员注册
查看: 16|回复: 0

Python中如何向列表或数组添加元素

[复制链接]

2万

主题

0

回帖

7万

积分

超级版主

积分
71338
发表于 2024-9-6 09:44:33 | 显示全部楼层 |阅读模式
1.Python中的列表是什么?给初学者的定义编程中的数组是一个有序的项目集合,所有的项目都需要是相同的数据类型。然而,与其它编程语言不同,数组在Python中不是一个内置的数据结构。Python使用列表取代传统的数组。列表本质上是动态数组,是Python中最常见的和最强大的数据结构之一。你可以把它们想象成有序的容器。它们将同类相关的数据存储和组织在一起。存储在一个列表中的元素可以是任何数据类型。可以有整数列表、浮点数列表、字符串列表,以及任何其它内置Python数据类型的列表。尽管列表有可能只容纳相同数据类型的项目,但它们比传统的数组更灵活。这意味着在同一个列表中可以有各种不同的数据类型。列表有0个或更多的项目,这意味着也可以有空的列表。在一个列表中,也可以有重复的值。值之间用逗号隔开,用方括号[]把值括起来。如何在Python中创建列表要创建一个新的列表,首先给这个列表起一个名字。然后添加赋值运算符(=)和一对有开头和结尾的方括号。在方括号内添加你希望列表包含的值。#创建一个包含名字的新列表names=["Jimmy","Timmy","Kenny","Lenny"]#将列表打印到控制台print(names)#输出#['Jimmy','Timmy','Kenny','Lenny']在Python中列表是如何被索引的列表为每个项目保持一个顺序。集合中的每个项目都有一个自己的索引号,你可以用它来访问这个项目本身。Python(以及其它现代编程语言)中的索引从0开始,列表中的每一项的索引逐个增加。例如,前面创建的列表有4个值:names=["Jimmy","Timmy","Kenny","Lenny"]列表中的第一个值,“Jimmy”,索引为0。列表中的第二个值,“Timmy”,索引为1。列表中的第三个值,“Kenny”,索引为2。列表中的第四个值,“Lenny”,索引为3。要通过索引号访问列表中的一个元素,首先要写出列表的名称,然后在方括号中写出该元素索引,这是一个整数。例如,如果你想访问索引为2的元素,你应该这样做:names=["Jimmy","Timmy","Kenny","Lenny"]print(names[2])#output#Kenny2.Python中的列表是可变的在Python中,当对象是可变的时候,这意味着一旦它们被创建,其值就可以被改变。列表是可变的对象,所以在它们被创建后,你可以更新和改变它们。列表也是动态的,意味着它们可以在程序的整个生命周期中增长和缩小。可以从现有的列表中删除项目,也可以给现有的列表添加新的项目。有一些内置的方法用于从列表中添加和删除项目。例如,要添加项目,有.append()、.insert()和.extend()方法。要删除项目,有.remove()、.pop()和.pop(index)方法。.append()方法的作用.append()方法在一个已经存在的列表的末尾添加一个额外的元素。语法看起来像这样:list_name.append(item)让我们把它分解一下:list_name是你给列表起的名字。.append()是列表方法,用于在list_name的末尾添加一个项目。item是你要添加的指定的单独项目。使用.append()时,原始列表被修改,不创建新的列表。如果你想在先前创建的列表中添加一个额外的名字,你可以这样做:names=["Jimmy","Timmy","Kenny","Lenny"]#在列表的末尾添加名字Dylannames.append("Dylan")print(names)#output#['Jimmy','Timmy','Kenny','Lenny','Dylan'].append()和.insert()方法之间有什么区别这两个方法的区别是:.append()在列表的末尾添加一个项目,而.insert()在列表的指定位置插入一个项目。正如你在上一节看到的,.append()将把你作为参数传递给函数的项目始终添加到列表的末尾。如果你不想只是将项目添加到列表的末尾,你可以用.insert()指定你想添加的位置。一般的语法是这样的:list_name.insert(position,item)让我们把它分解一下:list_name是列表的名称。.insert()是列表方法,用于在列表中插入一个项目。position是该方法的第一个参数。它总是一个整数——具体地说,它是你希望新项目被放置的位置的索引号。item是该方法的第二个参数。在这里你指定你想添加到列表中的新项目。例如,假设你有以下的编程语言列表:programming_languages=["JavaScript","Java","C++"]print(programming_languages)#output#['JavaScript','Java','C++']如果你想在列表的开始插入“Python”,作为列表的一个新项,你可以使用.insert()方法,并指定位置为0(记住,列表的第一个值的索引总是0)。programming_languages=["JavaScript","Java","C++"]programming_languages.insert(0,"Python")print(programming_languages)#output#['Python','JavaScript','Java','C++']如果你想让“JavaScript”成为列表中的第一个项目,然后添加“Python”作为新的项目,你会指定位置为1:programming_languages=["JavaScript","Java","C++"]programming_languages.insert(1,"Python")print(programming_languages)#output#['JavaScript','Python','Java','C++']与.append()方法相比,.insert()方法给了你更多的灵活性,前者只在列表的末尾添加一个新项目。.append()和.extend()方法之间有什么区别如果你想一次向列表中添加多个项目,而不是一次添加一个,怎么办?你可以使用.append()方法在一个列表的末尾添加多个项目。假设你有一个只包含两种编程语言的列表:programming_languages=["JavaScript","Java"]print(programming_languages)#output#['JavaScript','Java']然后你想在它的最后再增加两种语言。在这种情况下,你传递一个包含你想添加的两个新值的列表,作为.append()的一个参数:programming_languages=["JavaScript","Java"]#在列表的末尾添加两个新项目programming_languages.append(["Python","C++"])print(programming_languages)#output#['JavaScript','Java',['Python','C++']]如果你仔细看看上面的输出,['JavaScript','Java',['Python','C++']],你会发现一个新的列表被添加到已经存在的列表的末尾。所以,.append()在一个列表中添加了一个列表。列表是对象,当你使用.append()将另一个列表添加到一个列表中时,新的项目将作为一个单独的对象(项目)被添加。假设你已经有两个列表,像这样:names=["Jimmy","Timmy"]more_names=["Kenny","Lenny"]如果想把两个列表的内容合二为一,把more_names的内容加入到names中,会怎么样?当.append()方法被用于此目的时,另一个列表会在names中被创建:names=["Jimmy","Timmy"]more_names=["Kenny","Lenny"]#将more_names的内容添加到namesnames.append(more_names)print(names)#output#['Jimmy','Timmy',['Kenny','Lenny']]所以,.append()通过将对象追加到最后,将新的元素作为另一个列表添加。要真正将列表连接(添加)在一起,并将一个列表中的所有项目合并到另一个列表,你需要使用.extend()方法。一般的语法是这样的:list_name.extend(iterable/other_list_name)让我们把它分解一下:list_name是其中一个列表的名称。.extend()是将一个列表的所有内容添加到另一个列表的方法。iterable可以是任何可迭代的东西,比如另一个列表,例如another_list_name。在这种情况下,another_list_name是一个列表,它将与list_name连接,其内容将作为单独的项目被逐一添加到list_name的末尾。因此,拿前面的例子来说,当.append()被替换为.extend()时,输出结果将是这样的:names=["Jimmy","Timmy"]more_names=["Kenny","Lenny"]names.extend(more_names)print(names)#output#['Jimmy','Timmy','Kenny','Lenny']当我们使用.extend()时,名字列表得到扩展,其长度增加了2。.extend()的工作方式是,它将一个列表(或其他可迭代的)作为参数,对每个元素进行迭代,然后将可迭代的每个元素添加到列表中。.append()和.extend()之间还有一个区别。当你想添加一个字符串时,如前面所见,.append()将整个单一项目添加到列表的末尾:names=["Jimmy","Timmy","Kenny","Lenny"]#将名字Dylan添加到列表的末尾names.append("Dylan")#Python小白学习交流群:711312441print(names)#output#['Jimmy','Timmy','Kenny','Lenny','Dylan']如果你用.extend()将一个字符串添加到一个列表的末尾,那么字符串中的每个字符都会作为一个单独的项目被添加到列表中。这是因为字符串是可迭代的,而.extend()是对传递给它的可迭代参数进行迭代。因此,上面的例子看起来将是像这样的:names=["Jimmy","Timmy","Kenny","Lenny"]#给.extend()传递一个字符串(可迭代的)names.extend("Dylan")print(names)#output#['Jimmy','Timmy','Kenny','Lenny','D','y','l','a','n']总结总而言之,.append()方法用于在现有列表的末尾添加一个项目,而不创建一个新的列表。当它用于将一个列表添加到另一个列表时,它在一个列表中创建一个列表。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

QQ|手机版|心飞设计-版权所有:微度网络信息技术服务中心 ( 鲁ICP备17032091号-12 )|网站地图

GMT+8, 2025-1-9 19:30 , Processed in 0.894465 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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