gpt4 book ai didi

Python:StopIteration 异常和列表理解

转载 作者:太空狗 更新时间:2023-10-29 18:29:18 24 4
gpt4 key购买 nike

我想从一个 csv 文件中读取最多 20 行:

rows = [csvreader.next() for i in range(20)]

如果文件有 20 行或更多行则工作正常,否则会失败并出现 StopIteration 异常。

是否有一种优雅的方法来处理可能在列表理解中抛出 StopIteration 异常的迭代器,或者我应该使用常规的 for 循环?

最佳答案

您可以使用 itertools.islice .它是列表切片的迭代器版本。如果迭代器的元素少于 20 个,它将返回所有元素。

import itertools
rows = list(itertools.islice(csvreader, 20))

关于Python:StopIteration 异常和列表理解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1106903/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com