python list列表添加元素

本文介绍了Python中如何使用+运算符、append()、extend()和insert()方法向列表添加和插入元素。通过实例展示了各个方法的工作原理和区别,重点说明了append()和extend()在处理列表和元组时的不同行为。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Python中使用+运算符可以将多个序列连接起来;列表是序列的一种,所以也可以使用+进行连接,这样就相当于在第一个列表的末尾添加了另一个列表。

 

language = ["Python", "C++", "Java"]

birthday = [1991, 1998, 1995]

info = language + birthday

 

print("language =", language)

print("birthday =", birthday)

print("info =", info)

运行结果:

language = ['Python', 'C++', 'Java']

birthday = [1991, 1998, 1995]

info = ['Python', 'C++', 'Java', 1991, 1998, 1995]

从运行结果可以发现,使用+会生成一个新的列表,原有的列表不会被改变。

+更多的是用来拼接列表,而且执行效率并不高,如果想在列表中插入元素,应该使用下面几个专门的方法。

 

1.Python append()方法添加元素

append()方法用于在列表的末尾追加元素,该方法的语法格式如下:

listname.append(obj)

其中,listname 表示要添加元素的列表;obj 表示到添加到列表末尾的数据,它可以是单个元素,也可以是列表、元组等。

 

l = ['Python', 'C++', 'Java']

#追加元素

l.append('PHP')

print(l)

#追加元组,整个元组被当成一个元素

t = ('JavaScript', 'C#', 'Go')

l.append(t)

print(l)

#追加列表,整个列表也被当成一个元素

l.append(['Ruby', 'SQL'])

print(l)

运行结果为:

['Python', 'C++', 'Java', 'PHP']

['Python', 'C++', 'Java', 'PHP', ('JavaScript', 'C#', 'Go')]

['Python', 'C++', 'Java', 'PHP', ('JavaScript', 'C#', 'Go'), ['Ruby', 'SQL']]

可以看到,当给 append() 方法传递列表或者元组时,此方法会将它们视为一个整体,作为一个元素添加到列表中,从而形成包含列表和元组的新列表。

 

2.Python extend()方法添加元素

extend() append() 的不同之处在于:extend() 不会把列表或者元祖视为一个整体,而是把它们包含的元素逐个添加到列表中。

 

extend() 方法的语法格式如下:

listname.extend(obj)

其中,listname 指的是要添加元素的列表;obj 表示到添加到列表末尾的数据,它可以是单个元素,也可以是列表、元组等。

l = ['Python', 'C++', 'Java']

#追加元素

l.extend('C')

print(l)

#追加元组,元祖被拆分成多个元素

t = ('JavaScript', 'C#', 'Go')

l.extend(t)

print(l)

#追加列表,列表也被拆分成多个元素

l.extend(['Ruby', 'SQL'])

print(l)

运行结果:

['Python', 'C++', 'Java', 'C']

['Python', 'C++', 'Java', 'C', 'JavaScript', 'C#', 'Go']

['Python', 'C++', 'Java', 'C', 'JavaScript', 'C#', 'Go', 'Ruby', 'SQL']

 

3.Python insert()方法插入元素

append() extend() 方法只能在列表末尾插入元素,如果希望在列表中间某个位置插入元素,那么可以使用 insert() 方法。

 

insert() 的语法格式如下:

listname.insert(index , obj)

其中,index 表示指定位置的索引值。insert() 会将 obj 插入到 listname 列表第 index 个元素的位置。

 

当插入列表或者元祖时,insert() 也会将它们视为一个整体,作为一个元素插入到列表中,这一点和 append() 是一样的。

l = ['Python', 'C++', 'Java']

#插入元素

l.insert(1, 'C')

print(l)

#插入元组,整个元祖被当成一个元素

t = ('C#', 'Go')

l.insert(2, t)

print(l)

#插入列表,整个列表被当成一个元素

l.insert(3, ['Ruby', 'SQL'])

print(l)

#插入字符串,整个字符串被当成一个元素

l.insert(0, "http://c.biancheng.net")

print(l)

输出结果为:

['Python', 'C', 'C++', 'Java']

['Python', 'C', ('C#', 'Go'), 'C++', 'Java']

['Python', 'C', ('C#', 'Go'), ['Ruby', 'SQL'], 'C++', 'Java']

['http://c.biancheng.net', 'Python', 'C', ('C#', 'Go'), ['Ruby', 'SQL'], 'C++', 'Java']

提示,insert() 主要用来在列表的中间位置插入元素,如果仅仅希望在列表的末尾追加元素,那更建议使用 append() extend()

作者:QinL

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值