c#和python哪个效率高_C#和Python的一个性能对比测试

本文通过比较C#和Python处理黑名单过滤的代码,展示了两种语言在效率上的差异。C#使用ArrayList和BinarySearch方法,而Python利用bisect_left进行排序和过滤。测试结果显示了不同语言在特定任务中的性能表现。
摘要由CSDN通过智能技术生成

Python核心源代码:

if blkdat != []: # 黑名单过滤

if buildhit == 'Y':

fhitblk = file(mainpath + 'b_' + outputfile, 'wb')

outdat = []

print '排序黑名单...'

blkdat.sort()

print '过滤黑名单...'

hitnum = 0

for a in xrange(len(orgdat)):

b = bisect_left(blkdat, orgdat[a])

if b>=len(blkdat) or blkdat[b] != orgdat[a]:

outdat.append(orgdat[a])

else:

hitnum = hitnum + 1

if buildhit == 'Y':

fhitblk.write(orgdat[a] + '\r\n')

print '被黑名单过滤掉的号码总数为:', hitnum

if buildhit == 'Y':

fhitblk.close()

orgdat = outdat

C#核心源代码:

private void deal_Click(object sender, EventArgs e)

{

ArrayList org = new ArrayList();

ArrayList blk = new ArrayList();

StreamReader sr = new StreamReader(orgname);

StreamReader er = new StreamReader(blkname);

StreamWriter fr = new StreamWriter("left.txt");

string dat;

while ((dat = sr.ReadLine()) != null)

org.Add(dat.TrimEnd("\r\n".ToCharArray()));

while ((dat = er.ReadLine()) != null)

blk.Add(dat.TrimEnd("\r\n".ToCharArray()));

blk.Sort();

int orglen = org.Count;

for (int a = 0; a < orglen; a++)

{

if (blk.BinarySearch(org[a]) < 0)

fr.WriteLine(org[a]);

}

fr.Close();

MessageBox.Show("处理完毕!");

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值