1.文件类型类似于这样:
不过数据量比这个要更大一点。
2.对应上述数据的运行结果:
import matplotlib.pyplot as plt with open('test.txt') as fob: lines=fob.readlines() #去除掉每行最后一个换行符,就可以正确统计了,我也真不知道是为什么 for i in range(len(lines)): lines[i]=lines[i].rstrip() #在这里要创建一个长度的list进行统计 #但是这个地方的lines应该是包括空格的长度。 lens=len(lines[0].split(" "))-1 lts=[0 for _ in range(lens)]#这里存的数据类型是int for line in lines: lt=line.split(" ")#这里lt是str类型的 lt.pop(0) #删除掉第一个元素 #for k in lt: # print(k,end="")#这里是不换行输出 for i in range(len(lt)): if lt[i] != '0': lts[i]+=1 if(i==6): print(lt[i]+" "+str(lts[i])) #画一个折线图 for i in lts: print(i) plt.plot(lts,linewidth=5) plt.show()
//其中学到了不少东西。
运行结果:
1.如何按行读取文件并且存储到list中
2.如何创建一个指定长度和初值的list
3.从文件中读取的行进行split之后仍然是str类型的
4.如何画折线图进行巩固
5.其中还出现了一个问题,就是在统计最后一行的非0个数时老是出错,通过将换行符去掉,也就是加上了rstrip()函数之后就可以正常使用了。
5.python中没有自增:
转自:https://blog.csdn.net/guang09080908/article/details/47273775
https://www.cnblogs.com/erbaodabao0611/p/7646945.html
意思就是,使用++/--会使变量的id发生变化如下:
a=5 print(id(a)) a+=1 print(id(a)) #相当于新生成了一个变量,操作后的结果赋予了这个新的变量。 #++的话代表改变了对象本身, #python数据对象是不可改变的。 b=5 print(id(b)) b=6 print(id(6)) #运行结果 2012966032 2012966064 2012966032 2012966064