文件名称:不同集合上元素的迭代-华为云大数据中台架构分享
文件大小:5.68MB
文件格式:PDF
更新时间:2024-07-01 05:00:27
Python cookbook 中文 参考
4.12 不同集合上元素的迭代 问题 你想在多个对象执行相同的操作,但是这些对象在不同的容器中,你希望代码 在不失可读性的情况下避免写重复的循环。 解决方案 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 >>> 使用 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 这种解决方案要比像下面这样使用两个单独的循环更加优雅, for item in active_items: # Process item