iter()是否有多个哨兵值?

su

我正在尝试通过列表理解从文件中获取行,直到达到'0'行为止,如下所示:

with open('input.txt', 'r') as file:
    lines = [line.strip() for line in iter(file.readline, '0')]

问题是“ 0”可能不在最后一行,在这种情况下,实际上是“ 0 \ n”。我知道我能做

for line in file:
    line = line.strip()
    if line == '0':
        break
    else:
        lines.append(line)

但这是如此可怕,我几乎无法忍受。我是戏剧女王吗?有没有办法将“ 0”和“ 0 \ n”都用作哨兵值,或者在哨兵值检查它之前在iter()内剥离读取行?

提摩斯

您可以尝试:

with open('input.txt', 'r') as file:
    lines = [line for line in iter(lambda: str.strip(file.readline()), '0')]

但我不知为何不喜欢它...

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Redis 是否支持具有多个节点的哨兵设置中的数据库?

是否有提供`iter()`的特征?

检查枚举是否有多个值

我对这个哨兵值的实现有什么问题?

使用带哨兵的 iter() 替换 while 循环

使用接近最大基础整数值的哨兵指针值是否安全?

java中的变量是否可能具有多个潜在值

Python-检查多个变量是否具有相同的值

检查多个输入是否具有相同值的最佳方法

在GraphQL中是否可以发送具有多个值的Enum

如何比较类是否有多个归档值?

SQL:检查列SQL中是否有多个值

为什么在此iter调用中必须使用哨兵?

是否有干净的语法检查多个变量是否都具有相同的值?

是否有多个LDT?

聚合每个观察值是否可以属于具有多个分组变量的多个组

检查多个列是否具有表值参数中的多个值

当CSS属性可以有多个值时,这些值是否总是用空格分隔?

具有多个值的键-检查值是否在字典python中

如何检查数组是否具有多个值并在满足值时推送到新数组?

是否有一个或多个值大于/小于某个值的行查看或浏览表

检查数组是否有多个值并在值存在时更改输出

如何检查具有多个值的枚举类型参数是否具有特定的枚举类型

如何检查XSL中是否有多个变量具有相同的值?

检查没有初始化程序的 C++ 枚举是否有多个值

是否有一个函数可以为多个变量运行所有可能的值组合?

多个键有多个值组合值

ReactiveX在超时后发出null或哨兵值

Java程序将无法识别哨兵值