我需要把字符串转换成ASCII码。我用的是python。 我做了如下工作:
b1=[ord(x) for x in l1[i]]
这里l1是一个行表,l1[i]是l1的第i行
但我的错误是:
^{pr2}$我试过了
b1=[ord(x) for x in str(l1[i])]
但还是没用。在
顺便说一句,我有很长一段时间问题:我'我总是处理行列表中的行(或在列表中键入),我从列表中得到的行是字符串吗?或者我需要先把线转换成字符串吗?在
泰铢
在编辑:大块代码:
l1= commands.getoutput('zcat '+fastqfile1)
l2= commands.getoutput('zcat '+fastqfile2)
f1=[]
f2=[]
for i in range(0,len(l1)):
if i % 4 == 3:
b1=[ord(x) for x in l1[i]]
ave1=sum(b1)/float(len(l1[i]))
b2=[ord(x) for x in str(l2[i])]
ave2=sum(b2)/float(len(l2[i]))
if (ave1 >= 20 and ave2>= 20):.............
我将根据错误消息猜测
l1
不是一个列表而是一个字符串。l1[i]
是表达式中唯一的索引。在如果代码块更大,就更容易看到发生了什么。这是在一个以i为循环索引的循环中发生的吗?在任何情况下,唯一的索引发生在l1[i],所以发生的是i大于l1的长度。另外,确保l1是一个列表而不是字符串。
string index out of range
听起来像是一个字符串。在相关问题 更多 >
编程相关推荐