map,filter函数,评价统计

1、将列表中字符串划成数字
利用map函数
x=[“1”,”2”,”3”]
y=list(map(int,x))
y=[1,2,3]

2、filter函数

filter(function, sequence):对sequence中的item依次执行function(item),将执行结果为True的item组成一个List/String/Tuple(取决于sequence的类型)返回:

x=[]
i=1
pingjia={}
infiles=open(“pj.txt”).readlines()
def bili(x):
return (round(x*100/12,3))

for infile in infiles:
y=list(map(int,infile.split()))
x=list(map(bili,y[1:len(y)]))
print (x)
if i<=6:
pingjia[i]=”{}/{}/{}/{}/{}/{}”.format(x[0],x[1],x[2],x[3],x[4],x[5])
else:
pingjia[i]=”{}/{}/{}”.format(x[0],x[1],x[2])
i+=1
open(“pj.txt”).close()
outfiles=open(“xin.txt”,”w”)
for i in range(len(infiles)):
result1=list(pingjia.values())
result=result1[i].replace(“/”,”\t”)
outfiles.write(str(i+1)+”\t”+result+”\n”)
print (result)
outfiles.close()

4round 函数
round(1/3,2)=0.33
取小数点后两位


5、修改后的评价统计函数

import random

outfiles=open(“all.txt”,”w”)
r=1.0
p=0.2
q=0.07
for j in range(50):
for i in range(12):
m=random.random()
if m<=q:
outfiles.write(“2”)
elif m<=p and m>q:
outfiles.write(“1”)
else:
outfiles.write(“0”)
outfiles.write(“\t”)
outfiles.write(“\n”)
outfiles.close()
def bili(x):
return (round(x*100/12,3))

i=1
zb=[“满意”,”一般”,”不满意”,”合理”,”有待完善”,”不合理”]
pj={}
wt=[1,1,1,1,1,1]
n=1
infiles=open(“all.txt”).readlines()
onfiles=open(“xin.txt”,”w”)
onfiles.write(” “+”\t\t”+zb[0]+”\t\t”+zb[1]+”\t\t”+zb[2]+”\t\t”+zb[3]+”\t\t”+zb[4]+”\t”+zb[5]+”\n”)
for infile in infiles:
y=list(map(int,infile.split()))
onfiles.write(str(n)+”\t\t”)
if n<=6:
wt[0]=y.count(0)
wt[1]=y.count(1)
wt[2]=y.count(2)
wt[3]=infiles[random.randint(0,49)].split().count(“0”)
wt[4]=infiles[random.randint(0,49)].split().count(“1”)
wt[5]=infiles[random.randint(0,49)].split().count(“2”)
for i in range(6):
result=bili(wt[i])
onfiles.write(str(result)+”\t\t”)
print (result)
onfiles.write(“\n”)
else:
wt[0]=y.count(0)
wt[1]=y.count(1)
wt[2]=y.count(2)
for i in range(3):
result=bili(wt[i])
onfiles.write(str(result)+”\t\t”)
print (result)
onfiles.write(“\n”)
n+=1
onfiles.close()

“`

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值