我是python编程的新手,这是我给自己的一种认识语言的作业。
我正在尝试返回DNA字符串的反义词:
我在下面编写了代码,但似乎没有迭代。我在函数中放置了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>
,为什么不输入字符串?
答案 0 :(得分:2)
map
函数是惰性的。试试这个output = list(map(repl, s))
。
或者,如果要输出字符串而不是列表,请使用output = ''.join(map(repl, s))
。