python函数的奇淫技巧——chain()函数
Posted 胖虎是只mao
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python函数的奇淫技巧——chain()函数相关的知识,希望对你有一定的参考价值。
tertools.chain() 方法可以用来简化这个任务。 它接受一个可迭代对象列表作为输入,
并返回一个迭代器,有效的屏蔽掉在多个容器中迭代细节。
对多个对象执行相同的操作,且这几个对象在不同的容器中,这时候就用到了itertools.chain的函数,这个函数就用来干这件事的
from itertools import chain
a = ['x','r','v','b']
b = [1,2,3,4,5]
# b = (1,2,3,4,5).# 元祖也可,可迭代对象都可
for i in chain(a,b):
print(type(i))
print(i)
<class 'str'>
x
<class 'str'>
r
<class 'str'>
v
<class 'str'>
b
<class 'int'>
1
<class 'int'>
2
<class 'int'>
3
<class 'int'>
4
<class 'int'>
5
好处:把可迭代对象变成迭代器, 这就有了迭代器的优点:惰性计算和节省内存.
使用 chain() 的一个常见场景是当你想对不同的集合中所有元素执行某些操作的时候。
比如:
# Various working sets of items
active_items = set()
inactive_items = set()
# Iterate over all items
for item in chain(active_items, inactive_items):
# Process item
这种解决方案要比使用两个单独的循环更加优雅!
以上是关于python函数的奇淫技巧——chain()函数的主要内容,如果未能解决你的问题,请参考以下文章