如何在 python 中加入地图的值?
How to join values of map in python?
这是一个用于模式匹配问题的 .py 文件:
import sys
def pattern_matching(pattern,genome):
loc = []
for i in range(len(genome) - len(pattern) + 1):
if pattern == genome[i:i+len(pattern)]:
loc.append(i)
return loc
if __name__ == '__main__':
if len(sys.argv) == 2:
filename = sys.argv[1]
with open(filename) as f:
lines = f.read().splitlines()
pattern = lines[0]
genome = lines[1]
else:
pattern = 'ATAT'
genome = 'GATATATGCATATACTT'
loc = pattern_matching(pattern,genome)
print ",".join(map(str,loc))
但是第 22 行显示一个名为“SyntaxError: invalid syntax”的错误。如何打印结果?
修复 Unexpected Unindenting
并封装 print()
语句(如果您使用的是 > python3
版本)
import sys
def pattern_matching(pattern,genome):
loc = []
for i in range(len(genome) - len(pattern) + 1):
if pattern == genome[i:i+len(pattern)]:
loc.append(i)
return loc
if __name__ == '__main__':
if len(sys.argv) == 2:
filename = sys.argv[1]
with open(filename) as f:
lines = f.read().splitlines()
pattern = lines[0]
genome = lines[1]
else:
pattern = 'ATAT'
genome = 'GATATATGCATATACTT'
loc = pattern_matching(pattern,genome)
print(",".join(map(str,loc))) # Corrected unindent and encapsulated print
转成列表就可以了
print(",".join(list(map(str,loc))))
在python2.x中,map函数return一个列表,其中return一个地图对象在python3.x中,所以你需要转换map的return函数到列表。
这是一个用于模式匹配问题的 .py 文件:
import sys
def pattern_matching(pattern,genome):
loc = []
for i in range(len(genome) - len(pattern) + 1):
if pattern == genome[i:i+len(pattern)]:
loc.append(i)
return loc
if __name__ == '__main__':
if len(sys.argv) == 2:
filename = sys.argv[1]
with open(filename) as f:
lines = f.read().splitlines()
pattern = lines[0]
genome = lines[1]
else:
pattern = 'ATAT'
genome = 'GATATATGCATATACTT'
loc = pattern_matching(pattern,genome)
print ",".join(map(str,loc))
但是第 22 行显示一个名为“SyntaxError: invalid syntax”的错误。如何打印结果?
修复 Unexpected Unindenting
并封装 print()
语句(如果您使用的是 > python3
import sys
def pattern_matching(pattern,genome):
loc = []
for i in range(len(genome) - len(pattern) + 1):
if pattern == genome[i:i+len(pattern)]:
loc.append(i)
return loc
if __name__ == '__main__':
if len(sys.argv) == 2:
filename = sys.argv[1]
with open(filename) as f:
lines = f.read().splitlines()
pattern = lines[0]
genome = lines[1]
else:
pattern = 'ATAT'
genome = 'GATATATGCATATACTT'
loc = pattern_matching(pattern,genome)
print(",".join(map(str,loc))) # Corrected unindent and encapsulated print
转成列表就可以了
print(",".join(list(map(str,loc))))
在python2.x中,map函数return一个列表,其中return一个地图对象在python3.x中,所以你需要转换map的return函数到列表。