地图似乎没有迭代

时间:2019-05-16 07:05:51

标签: python python-3.x pycharm map-function

我是python编程的新手,这是我给自己的一种认识语言的作业。

我正在尝试返回DNA字符串的反义词:

  • T-> A
  • A-> T
  • C-> G
  • G-> C

我在下面编写了代码,但似乎没有迭代。我在函数中放置了print(x)行,以检查它是否完全通过了字符串,但是没有返回任何字符串。
也不返回错误。

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

我得到的所有输出都是<map object at 0x02A9F8D0>,为什么不输入字符串?

1 个答案:

答案 0 :(得分:2)

map函数是惰性的。试试这个output = list(map(repl, s))

或者,如果要输出字符串而不是列表,请使用output = ''.join(map(repl, s))