Python 映射似乎没有迭代

Python 映射似乎没有迭代,python,python-3.x,pycharm,map-function,Python,Python 3.x,Pycharm,Map Function,我对用python编写代码还不熟悉,这是我给自己的一项任务,目的是了解python语言 我试图返回与DNA字符串相反的字符串: T->A A->T C->G G->C 我已经编写了下面的代码,但它似乎没有迭代。我在函数中放了一行printx来检查它是否通过了字符串,但是没有返回任何字符串。 也不会返回任何错误 s = "AACCGGCCAA" def repl(x): print(x) if x == "A": return "T" elif x == "T": re

我对用python编写代码还不熟悉,这是我给自己的一项任务,目的是了解python语言

我试图返回与DNA字符串相反的字符串:

T->A A->T C->G G->C 我已经编写了下面的代码,但它似乎没有迭代。我在函数中放了一行printx来检查它是否通过了字符串,但是没有返回任何字符串。 也不会返回任何错误

s = "AACCGGCCAA"


def repl(x):
    print(x)
    if x == "A": return "T"
    elif x == "T": return "A"
    elif x == "C": return "G"
    elif x == "G": return "C"

output = map(repl, s)


print(output)
预期产出为: TTGGCCGGTT

我得到的所有输出都是,为什么不是字符串?

映射函数是惰性的。尝试此输出=listmaprepl,s


或者,如果您想要字符串输出而不是列表,则output=.joinmaprepl,s.

我得到了正确的预期输出。您可以尝试output=listmaprepl,s,因为它是python3@vks我所得到的只是。是否有任何设置干扰了输出?@TimStack这不是没有输出,正如你在问题中所说的那样。@TimStack你需要使用带有映射的列表,而你说没有输出,这会造成更多的混乱。@vks使用列表不会给我想要的输出欢呼,这就成功了。为什么我需要添加.join才能获得输出字符串?.join函数对map返回的元素进行迭代,并使用单引号之间的值将它们连接起来。有道理。我本来希望map自己返回字符串,但我想它仅限于字典,因此不会返回字符串。。类似的东西