同時迭代不同的容器元素

2022-08-27 02:48:06 字數 488 閱讀 4361

當有多個不同的序列(container)需要進行迭代時,常見的方式是寫多個for迴圈語句,或者編寫如下的**:

def chain(*iterables):

# chain('abc', 'def') --> a b c d e e

for it in iterables:

for element in it:

yield element

itertools模組提供了chain方法,可以組合多個不同型別的容器依次迭代。如下:

>>> from itertools import chain

>>> a = [1, 2, 3, 4]

>>> b = ['x', 'y', 'z']

>>> for x in chain(a, b):

print(x)

...123

4xyz

>>>

Xpath同時選取不同屬性的元素

如 乙個論壇中,有置頂貼和普通貼,它們使用了不同的class,但這兩類帖子都是需要的內容,需要同時爬下來 假設置頂貼class top 普通貼class common 則xpath寫法為 response.xpath div contains class,top or contains class,...

迭代器訪問容器中的元素

學習了c 中迭代器的相關知識,iterator迭代器它提供了訪問容器中元素的介面。迭代器範圍是由一對迭代器來確定的,兩個迭代器分別指向容器中的首元素和為元素之後的位置,這兩個迭代器通常被稱為begin和end 值得注意的是迭代器end不會指向容器中的任何元素。迭代器使用與指標頗為相似,訪問容器內部的...

STL 容器(deque) 元素的訪問 迭代器

這個部分和 vector 幾乎一樣 如下 1 include 2 include 3 4using namespace std 56 intmain 718 19 deqint a.at 0 666 20 deqint a 1 888 21 cout 用 at 和下標操作符進行修改後 deqint ...