【发布时间】:2014-10-09 13:52:11
【问题描述】:
我在单独的 .txt 文件中有以下字符串:
L#$KJ#()JSEFS(DF)(SD*F
#KJ$H#K$JH@#K$JHD)
SF SDFLKJ#{P@$OJ{SDPFODS{PFO{
#K$HK#JHSFHD(*SHF)SF{HP
#L$H@”#$H”@#L$KH#”@L$K
#~L$KJ#:$SD)FJ)S(DJF)(S
#$KJH#$
SDLKFJD(FJ)SDJFSDLFKS
~L#$KJ:@LK$#J$
LSJDF(S*JDF(*SJDF(*J(DSF*J
我必须按列位置获取每个元素,并输出一个元素在列中出现的次数。例如,位置:0 或第 1 列(S:20.0% #:50.0% L:20.0% ~:10.0%)
我在 python 中使用 NumPy 编写了这个脚本,以逐行创建数组数组,但出现“TypeError:列表索引必须是整数,而不是元组”
这是我尝试打印第一列时的脚本:
import numpy as np
from sys import argv
script, filename = argv
target = open(filename, 'r')
y = []
for x in range(0, 10):
y.append(np.array(list(target.readline())))
print y[:,1]
我做错了什么?
【问题讨论】:
-
看起来行的长度并不相同。如果是这种情况,数组将无济于事。我建议将其视为字符串列表,并进行列表循环、理解和字符串索引。