为什么只打印第一个项目

2024-05-16 12:06:50 发布

您现在位置:Python中文网/ 问答频道 /正文

想知道为什么当我在for循环之后写return arg时,我得到了我放入的整个列表,但是当我返回reverse时,我只提供列表中的最后一个值

def reverse_complement(**seqs):
   for arg in seqs.values():
      reverse=arg[::-1]
   return reverse

print(reverse_complement(a='CGTC', b='ATATAT', c='TATA', d='GCGTCGC'))

提供:

CGCTGCG

Tags: in列表forreturndefargreversevalues
2条回答

将结果存储在list中并返回list

使用此选项:

def reverse_complement(**seqs):
   results=[]
   for arg in seqs.values():
      reverse=arg[::-1]
      results.append(reverse)
   return results

print(reverse_complement(a='CGTC', b='ATATAT', c='TATA', d='GCGTCGC'))

['CTGC', 'ATAT', 'TATATA', 'CGCTGCG']

要返回整个序列(带键),请返回dict:

def reverse_complement(**seqs):
   reverse_dict = {}
   for key in seqs.keys():
      arg = seqs[key]
      reverse_dict[key] = arg[::-1]
   return reverse_dict

print(reverse_complement(a='CGTC', b='ATATAT', c='TATA', d='GCGTCGC')) 

这将提供:

{'a': 'CTGC', 'c': 'ATAT', 'b': 'TATATA', 'd': 'CGCTGCG'}

作为输出。你知道吗

相关问题 更多 >