gpt4 book ai didi

python - 用 Python 绘制列表

转载 作者:太空宇宙 更新时间:2023-11-03 16:31:39 26 4
gpt4 key购买 nike

我正在尝试绘制两个列表,一个列表将使用 timeit 测量时间,另一个列表将显示我运行循环的次数。我只得到一个空的图,所以我认为出了什么问题。有人可以告诉我错误在哪里吗?这些功能并不是很重要,但我将发布整个内容以提供上下文。这是代码:

import random
import timeit
import matplotlib.pyplot as plt

def generateSequences(n):

RandomSequences = []
dna = ["A","G","C","T"]
for i in range(int(n)):

randseq=''

for i in range(50):
randseq+=random.choice(dna)

RandomSequences.append(randseq)

return RandomSequences

def generatePrefixes(p, RandomSequences):

First20Chars = [x[:20] for x in RandomSequences]
RandomChoices = []
for i in range(p):
randomPrefix = random.choice(First20Chars)
RandomChoices.append(randomPrefix)

return First20Chars, RandomChoices

def searchReadsInList(RandomSequences, RandomChoices):

start_time = timeit.default_timer()
Matches_RS_RC = []
for i in RandomChoices:
for j in RandomSequences:
if i in j:
Matches_RS_RC.append(j)
elapsed_sRL = timeit.default_timer() - start_time
return Matches_RS_RC, elapsed_sRL



if __name__ == "__main__":
count = 10
while count < 1000:
RandomSequences = generateSequences(count)
First20Chars, RandomChoices = generatePrefixes(5, RandomSequences)
Matches_RS_RC, elapsed_sRL = searchReadsInList(RandomSequences, RandomChoices)
ListCounts = []
ListCounts.append(count)
ListTime = []
ListTime.append(elapsed_sRL)
count = count + 10

plt.plot(ListTime, count)
plt.xlabel('Time')
plt.ylabel('# of Reads')
plt.savefig("TimePlot.pdf")
plt.show()

最佳答案

我改进了主函数,您在每次迭代中都清除了列表:

if __name__ == "__main__":
count = 10
ListCounts = []
ListTime = []

while count < 1000:
RandomSequences = generateSequences(count)
First20Chars, RandomChoices = generatePrefixes(5, RandomSequences)
Matches_RS_RC, elapsed_sRL = searchReadsInList(RandomSequences, RandomChoices)
ListCounts.append(count)
ListTime.append(elapsed_sRL)
count = count + 10

print ListCounts
print ListTime

plt.plot(ListTime, ListCounts)
plt.xlabel('Time')
plt.ylabel('# of Reads')
plt.savefig("TimePlot.pdf")
plt.show()

enter image description here

关于python - 用 Python 绘制列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37564318/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com