一行代码让 Python 的运行速度提高100倍

http://www.cainiaoxueyuan.com/bc/7246.html

python一直被病垢运行速度太慢,但是实际上python的执行效率并不慢,慢的是python用的解释器Cpython运行效率太差。

“一行代码让python的运行速度提高100倍”这绝不是哗众取宠的论调。

我们来看一下这个最简单的例子,从1一直累加到1亿。

最原始的代码:

import time
def foo(x,y):
        tt = time.time()
        s = 0
        for i in range(x,y):
                s += i
        print('Time used: {} sec'.format(time.time()-tt))
        return s

print(foo(1,100000000))

结果:

Time used: 6.779874801635742 sec
4999999950000000

我们来加一行代码,再看看结果:

from numba import jit
import time
@jit
def foo(x,y):
        tt = time.time()
        s = 0
        for i in range(x,y):
                s += i
        print('Time used: {} sec'.format(time.time()-tt))
        return s
print(foo(1,100000000))

结果:

Time used: 0.04680037498474121 sec
4999999950000000
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一个Python文本数据分析的代码,它可以统计一个文本文件中每个单词出现的次数,并使用matplotlib库绘制出现次数最高的前20个单词的柱状图: ```python import re import matplotlib.pyplot as plt from collections import Counter # 读取文件 with open('test.txt', 'r', encoding='utf-8') as f: text = f.read() # 去除标点符号和换行符 text = re.sub(r'[^\w\s]', '', text) text = re.sub(r'\n', ' ', text) # 将文本按空格分割成单词列表 words = text.split() # 统计每个单词出现的次数 word_counts = Counter(words) # 绘制柱状图 top_words = dict(word_counts.most_common(20)) plt.bar(top_words.keys(), top_words.values()) plt.xticks(rotation=90) plt.xlabel('Words') plt.ylabel('Frequency') plt.title('Top 20 Most Frequent Words') plt.show() ``` 这个代码与前面提供的代码相似,但是使用了Python内置的collections模块中的Counter类来统计单词出现次数,并使用matplotlib库绘制柱状图。 另外,为了提高代码运行结果,我们可以使用以下几种方法: 1. 使用正则表达式去除标点符号和换行符,这样可以减少单词数,提高代码运行速度。 2. 使用Counter类来统计单词出现次数,这个类会使用字典来存储计数结果,比手动实现字典要高效。 3. 绘制柱状图时,只绘制出现次数最高的前20个单词,这样可以减少绘图时间,提高代码运行速度。 希望这个代码能够满足您的需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值