append和extend的区别 以及chain 等效率对比

本文探讨了Python中append和extend的区别,以及使用itertools.chain()进行序列合并的效率优势。extend适用于添加可迭代对象,而append用于添加单个元素。相比直接将序列相加,使用chain()在处理大量数据时能节省内存,并且在不同类型的可迭代对象间工作良好。此外,文章比较了使用extend、列表推导和chain()进行数据整合的效率,揭示了它们之间的性能差距。
摘要由CSDN通过智能技术生成

append添加单个元素 extend添加可迭代对象

append

>>> append_list = []
>>> append_list.append(1)
>>> append_list.append('a')
>>> append_list.append(['ssss'])
>>> append_list
[1, 'a', ['ssss']]

extend

>>> extend_list = []
>>> extend_list.extend(1)
Traceback (most recent call last):

TypeError: 'int' object is not iterable
>>> extend_list.extend([1])
>>> extend_list.extend(["a", [3, 4] ])
>>> extend_list
[1, 'a', [3, 4]]

itertools.chain()可以接受一个可迭代对象列表作为输入,并返回一个迭代器,有效的屏蔽掉在多个容器中迭代细节

>>> from itertools import chain
>>> a = [1, 2, 3, 4]
>>> b = ['x', 'y', 'z']
>>> for x in chain(a, b):
... print(x)

...
1 2 3 4 x y z
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值