在python中的每一行和每一个位置上循环



我陷入了一个小循环问题。我有一份不同职位的档案。

p = [10, 11, 16]

我有一个输入(例如有5行(文件,如下所示:

s = """BCCDDDCDCCDDDDDDABCDABCABDBACBDCAACCBBCABACBCCABCACBCDCCCBDBACDCBBCBCBCCCACADAACCABABADBCBAABBBCCBB
BCCDDDCDCCDDDDDDABCDABCABDBACBDCAACCBBCABACBCCABCACBCDCCCBDBACDCBBCBCBCCCACADAACCABABADBCBAABBBCCBB
BCCDDDCDCCDDDDDDABCDABCABDBACBDCAACCBBCABACBCCABCACBCDCCCBDBACDCBBCBCBCCCACADAACCABABADBCBAABBBCCBB
BCCDDDCDCCDDDDDDABCDABCABDBACBDCAACCBBCABACBCCABCACBCDCCCBDBACDCBBCBCBCCCACADAACCABABADBCBAABBBCCBB
BCCDDDCDCCDDDDDDABCDABCABDBACBDCAACCBBCABACBCCABCACBCDCCCBDBACDCBBCBCBCCCACADAACCABABADBCBAABBBCCBB"""

现在我喜欢在python中创建一个循环,它将从s的每一行只打印p中给定的位置。

所需输出为:

DDA
DDA
DDA
DDA
DDA

现在,这是我的代码:

p=np.loadtxt('positions')
s=np.loadtxt('s')
for i in range (0, len(s)): 
for i in p:  
print(line [int(i)], end='')

输出为:DDADDADDADDADDA

如何将此输出转换为:

DDA
DDA
DDA
DDA
DDA

你可以试试这个:

p=np.loadtxt('positions')
s=np.loadtxt('s')
for i in range (0, len(s)): 
for i in p:  
print(line [int(i)], end='')
print()

通过这种方式,您可以在外循环的末尾添加换行符

您只需要在单独的行中打印每个迭代,然后只需使用类似的打印语句

print(line [int(i)], end='n')

相关内容