python - for - else 与 elif

标签 python for-loop python-2.7 if-statement

我认为 elif: 是

else:
     if:

但是不能用

对于 - elif:

只有

对于-否则:如果:

在这段代码中:

for line in source:
    change_next = False
    for dataset,artnr,revision in datasets:
        if dataset in line:
            change_next = True
            print "  **  " + dataset + " found"
            datasets.remove((dataset,artnr,revision))
            break
    else:
        if line.startswith("DstID:"):
            print line.replace("DstID:","").rstrip()

    if change_next and "Partno:" in line:
        destination.write("Partno: " + artnr + "\n")
        print "Partno: " + artnr
    elif change_next and "Revno:" in line:
        destination.write("Revno:" + revision + "\n")
        print "Revno:" + revision
    else:
        destination.write(line)

感谢到目前为止的回复,我现在的问题是:这是这样做的方法吗?如果一行中没有任何(已知的)数据集,那么如果它是一个数据集,我想打印它吗?

最佳答案

elif: 不是扩展为 else: if 的宏,它是一个语法元素,仅在 if: statement 的上下文中有效。 .通常,else: if 会打开一个新的 if block ;但是,elif: 不会那样做。

关于python - for - else 与 elif,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10983394/

相关文章:

python - 尝试绘制迭代但 plt.plot 为空

php - 使用php自动递增字母表

python - 字符串中的变量,python 2.7

java - 使用 for 循环或 while 循环进行迭代?

值超过阈值时的python平均数组(如果平均)

python - 如何将 ResultProxy 更改为字符串

python - 使用 databricks 运行时 ML 8.2 创建本地 conda 环境

Python 3 - 从 HTTP 请求响应中获取一些字符串

python - 导入错误 : No module named 'Crypto' on Mac (Pycrypto is up-to-date)

python - matplotlib 如何计算最小/最大轴值?或者如何在设置限制时自动添加 matplotlib 边距