简体   繁体   English

为什么只打印第一项

[英]Why is only the first item printing

Wondering why when I write return arg after the for loop, I get the whole list I put in, but when I return reverse, only the last value in the list I provide prints想知道为什么当我在 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'))

gives :给出:

CGCTGCG

Store the results in a list and retund the list .将结果存储在list并返回list

Use this:用这个:

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']

To return the whole sequence (with the keys), return a 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')) 

This gives:这给出:

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

as the output.作为输出。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM