1
Я пытаюсь сделать Участок из двух списков, один раз должен иметь время, измеренное с помощью timeit, а другое количество раз, которое я пропустил через цикл. Я получаю пустой сюжет, поэтому я понял, что что-то не так. Может ли кто-нибудь, возможно, сказать мне, где ошибка? Функции не очень важны, но я буду публиковать все это, чтобы обеспечить контекст. Вот код:Списки составления списков в Python
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()
Ваш списки хранить только 2 значения: [990] и [0,0012807846069335938]. Когда в сюжете используется 'plt.plot (ListTime, ListCounts)'. – Serenity