【发布时间】:2019-02-03 10:58:47
【问题描述】:
我有一个循环读取数据,但编号不连续。因此,我想跳过特定的值。但我只知道如何跳过一个,而不是一组值。 这是我的示例代码:
for n in [x for x in range(2,m) if x!=9]:
if n < 10:
stationsnr = '00'+np.str(n)
elif n < 100:
stationsnr = '0'+np.str(n)
else:
stationsnr = np.str(n)
但我需要的不是“x!= 9”,而是 if x!= 其中一个值 [9,10,12,16,......] (编辑:这些值存储在列表中)。有什么建议吗?
【问题讨论】:
-
这些值是否在列表中?
-
大概
for循环中的列表理解只是一个例子?我不会在那里使用列表理解,因为它首先会创建一个完整的列表;至少使用生成器表达式:for n in (x for x in range(2, m) if x != 9): -
@ThatBird 那是我的计划。
-
你使用
np.str而不是直接调用str构造函数有什么原因吗?顺便说一句,您可以在不使用if...elif...else的情况下进行填充。请参阅str.zfill和str.rjust。
标签: python python-3.x loops for-loop