【发布时间】:2017-04-11 13:16:04
【问题描述】:
我有state_array 功能。如果if 状态为真,我将从列表result 中删除项目。它不起作用,因为for-loop ist 超出范围。
我想解决它,并想问,可以有列表理解而不是'for-loop',如果是,怎么做?
def state_array(self):
for k in range(len(result)):
if '[0]' in str(result[k]):
if '[7]' in str(result[k+7]) and '[8]' not in str(result[k+8]):
result[k][0] = str(result[k][0]).replace('[0]', '').replace('X0', 'X0,8') # state array
del result[k+1:k+7]
else:
continue
我的意见:
V;3;M_BB01_03[0];SPPP.BK1800.58,X0;RW
V;3;M_BB01_03[1];SPPP.BK1800.58,X1;RW
V;3;M_BB01_03[2];SPPP.BK1800.58,X2;RW
V;3;M_BB01_03[3];SPPP.BK1800.58,X3;RW
V;3;M_BB01_03[4];SPPP.BK1800.58,X4;RW
V;3;M_BB01_03[5];SPPP.BK1800.58,X5;RW
V;3;M_BB01_03[6];SPPP.BK1800.58,X6;RW
V;3;M_BB01_03[7];SPPP.BK1800.58,X7;RW
预期输出:
V;3;M_BB01_03[0];SPPP.BK1800.58,X0,8;RW
【问题讨论】:
-
你能给出一些输入和预期的输出吗?如果你给出一个可以完全独立运行的代码sn-p,那么人家帮你就容易多了
-
我更新了输入输出问题
-
您的输入是字符串列表吗?
-
当你的输入字符串只有8个元素时,为什么要检查第9个元素?
标签: python python-3.x loops for-loop list-comprehension