我在使用分割命令时遇到问题。 输入字符串如下:
080821_HWI-EAS301_0002_30ALBAAXX:1:8:1649:2027 83 chr10 42038185 255 36M = 42037995 -225 GCCAGGTTTAATAAATTATTTATAGAATACTGCATC @?DDEAEFDAD@FBG@CDA?DBCDEECD@D?CBA>A NM:i:0 MD:Z:36
我想从这根绳子上取下2027
我的命令是:line.split(':',4)[1].split()[0]
但是,它不起作用。输出为“1”
然后我切换到line.split(':',4)
输出仍然是'1',我看到第一步分割已经有问题了。在
但是,当我尝试line.split(':',1)
时,我得到的预期结果是:
我被这个分开的命令弄糊涂了!(我以前也问过类似的问题,当时“分割指挥”起作用了) 谢谢
试试这个:
我不知道你为什么要这样访问包含2027的令牌:
^{pr2}$而不是这样:
我想你可能对分裂的工作原理感到困惑。Python split function的最后一个参数是要执行的最大拆分数。在
看来你想要的是
要拆分的数字参数表示将发生的最大拆分数。所以你有:
^{pr2}$如果将元素[1]从返回值中拉出,则得到“1”。我不明白你为什么对此感到惊讶。在
由于您最多允许4个拆分,并且您想要的项将是最后一个,所以您想要的下标是[4]:
然后您可以在空间上拆分该元素,并从中获取元素[0]以生成结果。在
如果完全不传递分割限制值,则会得到相同的结果:
split
的第二个参数是要执行的最大拆分数,因此您可能不希望在本例中使用它。要在执行拆分后访问第五个元素,请执行以下操作:不管怎样,您可能想要的是首先按空格分割(您可以不使用参数来进行分割),然后按冒号分割。这可以在一行上完成,如下所示:
^{pr2}$相关问题 更多 >
编程相关推荐