繁体   English   中英

Python - 确定循环的第一次迭代

[英]Python - Determine first iteration of loop

我有一些读入文件的代码,跳过第一行,然后字段拆分每一行。 在第一遍(即第一行)中,我想将字段拆分的长度记录到一个变量中。 我知道我可以使用计数器变量来做到这一点,但有没有更清洁的方法?

line_count=1
for line in line_split[1:]:
        field_split = line.split(b'\t')
        if line_count=1:
            number_of_fields=len(field_split)
        line_count=line_count+1 

您可以用枚举器替换定义line_count

for line_count, line in enumerate(line_split[1:]):
    field_split = line.split(b'\t')
    if line_count == 0:
        number_of_fields=len(field_split)
number_of_fields=len(line_split[1].split(b'\t')) if len(line_split) > 1

for index, line in enumerate(line_split[1:]):
   # Do whatever with index and line

这是最优的, if它只评估一次。 通过在列表上使用enumerate ,您可以获得列表的索引和项目。

for line_count, line in enumerate(line_split[1:], 1):
    field_split = line.split(b'\t')
        if line_count == 1:
            number_of_fields = len(field_split)

如果你只想检测第一行,你可以这样做 -

first_line = True
for line in line_split[1:]:
    field_split = line.split(b'\t')
    if first_line:
        number_of_fields = len(field_split)
        first_line = False
        continue

“继续”将跳过该块的 rest 并立即移至下一行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM