擅长:python、mysql、java
<p>在上面的代码片段中,“inputfile”的内容被读取为字符串数组。根据您需要的注释——“打印每个字符串的特定位置”,您将需要添加另一个循环来迭代每个字符串并打印该字符串</p>
<p>建议代码:</p>
<pre><code>seq=np.loadtxt('inputfile', dtype='str')
p = open( "position.txt", "r" )
for file_String in seq : # Iterate over each string
for line in p:
l=int(line)
ll=l-1
print(file_String[ll], end="")
print ("") # Adding new line after each string.
</code></pre>
<p>要写入文件的优化代码:</p>
<pre><code>import numpy as np
seq=np.loadtxt('inputfile.txt', dtype='str')
pos=np.loadtxt('position.txt', dtype='int')
with open( "output.txt", "w" ) as nf :
for fileString in seq : # Iterate over each string
s = "".join (map(lambda x: fileString[x], p)) # Replace second for loop by map.
nf.write(s + "\n") # "\n" can be replaced by os.sep if using non-linux OS
</code></pre>