我目前正在从事一个数据科学项目,我正在努力提高代码效率,以便我的代码能够以更快的速度运行,从而能够通过大量的样本数据。我已经提供了一段代码,我希望评论。你知道吗
目前,为了尝试优化我的代码,我研究了numpy数组,循环,列表理解,在合适的地方我尝试实现它们。然而,由于我的基本编码背景,我需要帮助看到其他可能的方法来加快我的代码。你知道吗
chromosomefragmentlist=[]
Number_of_fragments=150
ChromosomeNumber=1
FragmentSize=1000000
for i in range(0, (Number_of_fragments), 1):
a = ("Chromosome" + str(ChromosomeNumber) + "Fragment" + str(i) + ",Basepairs " +
str(i * FragmentSize + 1) + "-" + str(i * FragmentSize + FragmentSize))
chromosomefragmentlist.append(str(Dict.get((a))))
return(chromosomefragmentlist)
如何提高效率?这段代码将导致一个列表,我更感兴趣的是使它运行得更快。你知道吗
这段代码不能被“增强”,因为无论如何你必须在范围内迭代并从dict中获取值。小的加速你可以用列表理解来实现,但是这并不重要。你知道吗
我建议您阅读PEP8,并使用推荐的编码风格。将其应用于当前代码时,应重命名变量:
ChromosomeNumber
->;chromosome_num
。你知道吗FragmentSize
->;fragment_size
;Number_of_fragments
->;fragments_len
(len是length的缩短变体)Dict
->;some_dict
(应该用适当的关键字替换一些;还应该避免用python内置类型、函数、模块等的名称命名变量)chromosomefragmentlist
->;chromosomes
。你知道吗其他建议:
range(0, (Number_of_fragments), 1)
等价于range(Number_of_fragments)
(docs)some_dict[key]
语法而不是^{使用所有建议,您将得到下一个代码:
相关问题 更多 >
编程相关推荐