python - 如何在带有空格的单词之后获取序列
问题描述
对于学校,我必须在一个带有很多空格的单词之后解析一个字符串,但我就是无法理解。因为文件是基因库。
例如:
BLA
1 sjafhkashfjhsjfhkjsfkjakshfkjsjkf
2 isfshkdfhjksfkhksfhjkshkfhkjsakjfhk
3 kahsfkjshakjfhksjhfkskjfkaskfksj
//
我试过的是这个。
if line.startswith("BLA"):
start = line.find("BLA")
end = line.find("//")
line = line[:end]
s_string = ""
string = list()
if s_string:
string.append(line)
else:
line = line.strip()
my_seq += line
但我得到的是:
**output**
BLA
这是它得到的唯一东西,我想让输出像
**output**
BLA 1 sjafhkashfjhsjfhkjsfkjakshfkjsjkf
2 isfshkdfhjksfkhksfhjkshkfhkjsakjfhk
3 kahsfkjshakjfhksjhfkskjfkaskfksj
所以我不知道该怎么做,我试图让它像最后一个输出一样。但没有成功。我的老师告诉我,我必须这样做。如果 BLA 是 True 你可以去迭代它。如果你看到“//”,你必须停下来,但是当我用那个 True - 语句尝试它时,我什么也没得到。
我试图在网上搜索它,它说我必须用 bio seqIO 来做。但是老师说我们不能用那个。
解决方案
这是我的解决方案:
lines = """BLA
1 sjafhkashfjhsjfhkjsfkjakshfkjsjkf
2 isfshkdfhjksfkhksfhjkshkfhkjsakjfhk
3 kahsfkjshakjfhksjhfkskjfkaskfksj
//"""
lines = lines.strip().split("//")
lines = lines[0].split("BLA")
lines = [i.strip() for i in lines]
print("BLA", " ", lines[1])
输出:
BLA 1 sjafhkashfjhsjfhkjsfkjakshfkjsjkf
2 isfshkdfhjksfkhksfhjkshkfhkjsakjfhk
3 kahsfkjshakjfhksjhfkskjfkaskfksj
推荐阅读
- visual-studio-2017 - 如何更改某个变更集的注释颜色
- asp.net - 如何基于在 Asp.net mvc 和 Knockoutjs 中单击 Add new 来重复绑定控件
- ios - iOS-如何在限制范围内绘画
- python - 在 tkinter 中使用线程
- excel - 将 2 行单元格与电子表格中同一列中的行下单元格进行比较时,根据重复值删除行
- c# - 如何修改 ChartingToolkit LineChart 的 X 轴
- php - Launch中的VSCode PHP调试当前打开断点无法工作的脚本
- c++ - 将整数写入流
- docker - 如何禁止 docker cp 选项
- gremlin - 从顶点移除标签