gpt4 book ai didi

python - 拆分命令问题

转载 作者:太空宇宙 更新时间:2023-11-04 07:11:52 25 4
gpt4 key购买 nike

我在使用 split 命令时遇到了问题。输入字符串如下:

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) 时,我得到了预期的结果:

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

我对这个拆分命令感到困惑! (我之前问过类似的问题,当时split命令起作用了)谢谢

最佳答案

看来你想要的是

line.split(':',4)[4].split()[0]

要拆分的数字参数表示将发生的最大拆分数。所以你有:

>>> line='080821_HWI-EAS301_0002_30ALBAAXX:1:8:1649:2027 ...'
>>> line.split(':',4)
['080821_HWI-EAS301_0002_30ALBAAXX', '1', '8', '1649', '2027 ...']

如果从该返回值中提取元素 [1],则会得到“1”。我不明白你为什么对此感到惊讶。

因为你允许最多拆分 4 次,而你想要的项目将是最后一个,你想要的下标是 [4]:

>>> line.split(':',4)[4]
'2027 ...'

然后您可以在空间上拆分它并从中获取元素 [0] 以产生您的结果。

如果您根本不通过拆分限制值,您会得到相同的结果:

>>> line.split(':')[4].split()[0]
'2027'

关于python - 拆分命令问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7012963/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com