【发布时间】:2014-11-22 10:17:12
【问题描述】:
我目前正在尝试将特定字符串分割成多个部分,但总是出现索引错误。
字符串是:
columnData = "001.001.000.100.000.000.000"
myClassInstance = MyClass(
param1 = columnData[0:3],
param2 = columnData[4:3],
param3 = columnData[8:3],
param4 = 0,
param5 = columnData[12:3],
param6 = columnData[16:3],
param7 = columnData[20:3],
param8 = columnData[24:3]
)
每当它尝试设置 param8 时,我都会收到 out of index 错误。
然后我尝试将切片放入文件中以查看错误所在并尝试:
f = open("TestmyTset.txt","w")
f.write(columnData)
f.write("\nparam1: ")
f.write(columnData[0:3])
f.write("\nparam2r: ")
f.write(columnData[4:3])
f.close();
但 param2 从未打印到文件中。
输出是:
001.001.000.100.000.000.000
param1: 001
param2:
所以我的问题是我的错误在哪里,因为我一次又一次地尝试并没有找到它(实际上每个切片都应该是字符串的 . 分隔部分之一)。
如被问及预期的输出将是:
param1 = "001"
param2 = "001" (the 2nd 001 in the original string)
param3 = "000"
param4 = "0"
param5 = "100"
....
【问题讨论】:
-
您对 columnData[4:3] 的期望是什么?
-
我在那里更新了答案,以便清楚我在每个参数中的相应切片的期望
-
在 param4 中,您期望“100”,但您已将其声明为 0。
-
tnx 是输入错误已更正
-
好的,从答案中得到了......再次混淆了语言(考虑切片的长度而不是停止位置)