23 lines
1.1 KiB
Python
23 lines
1.1 KiB
Python
from itertools import dropwhile, islice
|
||
|
||
if __name__ == '__main__':
|
||
words = ["#look", "#into", "#my", "eyes", "look", "into", "my", "eyes",
|
||
"the", "eyes", "the", "eyes", "the", "eyes", "not", "around", "the",
|
||
"eyes", "don't", "look", "around", "the", "eyes", "look", "into",
|
||
"my", "eyes", "you're", "under"]
|
||
|
||
# 想要对可迭代对象进行过滤,也可以使用dropwhile函数,比如这里我想过滤掉前几行有#的东西
|
||
for i in dropwhile(lambda x : x.startswith('#'), words):
|
||
print(i)
|
||
|
||
# dropwhile会在迭代时对函数进行匹配,将符合条件的值丢弃,直到出现第一个符合条件的值后停止工作返回所有剩余内容
|
||
|
||
# 如果你知道需要跳过几个元素,那可以直接用islice进行切片操作来过滤
|
||
|
||
items = ['a', 'b', 'c', 1, 2, 3]
|
||
# None表示[3:]
|
||
for i in islice(items, 3, None):
|
||
print(i)
|
||
|
||
# 当然,使用列表的过滤方法也可以删除一些不要的东西,但是这样的删除是全局的,而不是仅在开头生效
|