1
数组中的值很好。如果我将它们单独打印出来,它们会按照它们应该出来的方式打印出来,但是当我把它们放在一起时,它不会打印前两个值,并且其余的都是乱码。这里的打印片断:打印多个数组中的值出现混乱
print '['
for i in range(1, x):
print '{\"' + fNames[0] + '\":"' + fNames[i] + '\", \"' + lNames[0] + '\":\"' + lNames[i] + '\", \"' + descs[0] + '\":\"' + descs[i] + '\"},\r'
print ']'
下面就是它输出:
[
"},A really cool guy, "lname":"Bishop", "description
"},A really cool galname":"Patzer", "description
"},A really cool momlname":"Robertson", "description
"},A really cool dadame":"Bishop", "description
"},A really cool doglname":"Bishop", "description
"},A really cool cat"lname":"Jack", "description
]
请注意,它不输出FNAME [0]和FNAME [1]。
如果我注释掉的print语句像这样的结尾:
print '['
for i in range(1, x):
print '{\"' + fNames[0] + '\":"' + fNames[i] + '\", \"' + lNames[0] + '\":\"' + lNames[i] + '\", \"' + descs[0] + '\":\"' #+ descs[i] + '\"},'
print ']'
这其中大部分是正确的,打印出除了在其中“fname”的“f”和发现它不打印出来最后的'\':\“'都是。我已经通过filter()函数运行阵列去除换行符,并确保我的正则表达式不会将它们接受。这是我如何填充阵列:
with open(file, "rb") as fin:
for line in fin:
col1Reg = re.search('^(.+?)(?=,)', line)
fNames.append(col1Reg.group(0))
col2Parsed = '(?<=' + fNames[x] + ',)(.*)(?=,)'
col2Reg = re.search(col2Parsed, line)
lNames.append(col2Reg.group(0))
col3Parsed = '(?<=' + lNames[x] + ',)(.*)(?=\n)'
col3Reg = re.search(col3Parsed, line)
descs.append(col3Reg.group(0))
x += 1
这是怎么回事?阵列中的每件事都是正确的,处于正确的位置,为什么会发生这种情况?
+1“jarbled乱” –
在所有的严重性,虽然,这是一个很好的问题。 –
你可以印刷阵列吗?我的盲目猜测是在输入中引用了一些引起混淆的东西 – immulatin