首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

chain(*iterable)与chain.from_iterable(iterable)的区别

chain(*iterable)和chain.from_iterable(iterable)都是Python中itertools模块中的函数,用于将多个可迭代对象连接起来。

区别如下:

  1. chain(*iterable)函数接受多个可迭代对象作为参数,将它们依次连接起来,返回一个新的迭代器。它的作用类似于将多个可迭代对象进行拼接。

示例代码:

代码语言:txt
复制
from itertools import chain

list1 = [1, 2, 3]
list2 = [4, 5, 6]
list3 = [7, 8, 9]

result = list(chain(list1, list2, list3))
print(result)  # 输出:[1, 2, 3, 4, 5, 6, 7, 8, 9]

在上面的示例中,chain函数将list1、list2和list3连接起来,返回一个包含所有元素的新列表。

  1. chain.from_iterable(iterable)函数接受一个可迭代对象作为参数,该可迭代对象中的每个元素也是可迭代对象,它将这些可迭代对象中的元素依次连接起来,返回一个新的迭代器。

示例代码:

代码语言:txt
复制
from itertools import chain

list1 = [1, 2, 3]
list2 = [4, 5, 6]
list3 = [7, 8, 9]

result = list(chain.from_iterable([list1, list2, list3]))
print(result)  # 输出:[1, 2, 3, 4, 5, 6, 7, 8, 9]

在上面的示例中,chain.from_iterable函数将list1、list2和list3中的元素依次连接起来,返回一个包含所有元素的新列表。

总结:

chain(iterable)和chain.from_iterable(iterable)都可以将多个可迭代对象连接起来,但是它们的参数形式不同。chain(iterable)接受多个可迭代对象作为参数,而chain.from_iterable(iterable)接受一个可迭代对象,该可迭代对象中的每个元素也是可迭代对象。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券