我有一个代码,我拼凑在一起,根据在这里的一些帖子。它需要一个FASTA文件(以DNA序列为特征的文件)并查找分子量在给定重量范围内的序列。为此,它使用了一个由先前构建的函数seq_ID_and_weight产生的字典,它(顾名思义)输出文件中序列的ID及其分子量的最小和最大值(序列可能不明确,因此有许多可能的权重)。
下面的函数完成了我需要它做的事情,但我不确定它是如何实现的。
def find_sequence(file_name, min_weight, max_weight):
ID_list=[] # Initialize a list to store seq IDs
with open (file_name) as file:
dictionary = (seq_ID_and_weight(file_name))
for k,v in dictionary.items(): # This function lets you traverse the dictionary
for i in range(min(2,len(v))):
if v[i]>min_weight and v[i]<max_weight: # If value is within given range, append the sequence_id to list.
ID_list.append(k)
break
return ID_list我明白了,直到“我在范围内”这句话。我知道这一行的存在,因为我必须处理有两个值的键,以及只有一个值的键。但是min函数是做什么的呢?为什么我要用我作为变量?
对不起,如果这是一个愚蠢的问题,但我是新的Python。
发布于 2022-01-12 13:37:52
Python min()从一个可迭代对象或两个或多个参数返回最小的项。这是官方的文档。
i是表示从0到min(2,len(v))值范围内的索引值的缩写,并用作字典值v中的索引(假设它是一个可迭代对象)。
https://stackoverflow.com/questions/70682421
复制相似问题