为了账号安全,请及时绑定邮箱和手机立即绑定

关于python代码,line[:-1]的意思

关于python代码,line[:-1]的意思

jeck猫 2019-04-27 21:30:35
下面是一段代码for srcFileName in srcFileNameList:csfile = open(srcFileName)while 1:line = csfile.readline()if line.startswith('#'): continueif not line:print 'Check...'+srcFileNameraise SystemExittry:setname,zinc,pmf,dock,gold,chemscore,ad,unbd,dfire = line[:-1].split(':')[:7]except ValueError:print 'Check......'+srcFileNamesys.exit()breakcsfile.close()其中line[:-1]的意思是什么?为什么我总是会ValueError?
查看完整描述

2 回答

?
小怪兽爱吃肉

TA贡献1852条经验 获得超1个赞

line[:-1]其实就是去除了这行文本的最后一个字符(换行符)后剩下的部分。

line = "abcde"line[:-1]结果为:'abcd'

line = "abcde"line[::-1]结果为:'edcba'

扩展资料:

1.先定义一个array数据

1 import numpy as np2 x=np.array([1,4,3,-1,6,9])

2.现在我们可以看看argsort()函数的具体功能是什么:

x.argsort()

输出定义为y=array([3,0,2,1,4,5])。

我们发现argsort()函数是将x中的元素从小到大排列,提取其对应的index(索引),然后输出到y。例如:x[3]=-1最小,所以y[0]=3,x[5]=9最大,所以y[5]=5。

3.由于在程序中遇到了类似于np.argsort()[num]的形式,一直看不明白,就自己去python环境自己试了下:

ps:这里的num的绝对值小于等于x中元素的个数

当num>=0时,np.argsort()[num]就可以理解为y[num];

当num<0时,np.argsort()[num]就是把数组y的元素反向输出,例如np.argsort()[-1]即输出x中最大值对应的index,np.argsort()[-2]即输出x中第二大值对应的index,依此类推。


查看完整回答
反对 回复 2019-04-27
?
qq_遁去的一_1

TA贡献1725条经验 获得超7个赞

>>> line = "abcde"
>>> line[:-1]
'abcd'
>>>

line[:-1]其实就是去除了这行文本的最后一个字符(换行符)后剩下的部分。

出ValueError是因为你line[:-1].split(':')[:7]这里取了分割后列表的前七个值,但是把他付给了九个变量。个数不匹配。

查看完整回答
反对 回复 2019-04-27
  • 2 回答
  • 0 关注
  • 900 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信