Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 子串提取_Python_Python 3.x_Python 2.7 - Fatal编程技术网

Python 子串提取

Python 子串提取,python,python-3.x,python-2.7,Python,Python 3.x,Python 2.7,我有一个以下格式的字符串: 00:aa:bb:cc:dd:ee 我需要拆分它并只输出前3个字段,即00:aa:bb。我正在使用 s.split(':')[1:3] 在我的计划中,我想做这项工作,但它没有帮助。这是正确的方法吗?几乎:Python是从0开始的0索引计数: >>> s = '00:aa:bb:cc:dd:ee' >>> s.split(":") ['00', 'aa', 'bb', 'cc', 'dd', 'ee'] >>&

我有一个以下格式的字符串:

00:aa:bb:cc:dd:ee  
我需要拆分它并只输出前3个字段,即00:aa:bb。我正在使用

s.split(':')[1:3]  

在我的计划中,我想做这项工作,但它没有帮助。这是正确的方法吗?

几乎:Python是从0开始的0索引计数:

>>> s = '00:aa:bb:cc:dd:ee'
>>> s.split(":")
['00', 'aa', 'bb', 'cc', 'dd', 'ee']
>>> s.split(":")[0:3]
['00', 'aa', 'bb']
>>> s.split(":")[:3]
['00', 'aa', 'bb']
你可以重新组合它们:

>>> ':'.join(s.split(":")[:3])
'00:aa:bb'

如果这是一个问题,您可以查看Python切片如何工作的简要回顾。

这没有帮助是什么意思?是因为结果是一个列表吗?要将其恢复为字符串,请尝试:

':'.join(s.split(':')[0:3])

还要注意零索引。

因为他只需要前3个,所以分割其余的是一种浪费。可以只执行“:”.joins.split“:”,3[:3],这样解释器在获得所需的标记后将退出解析。@sr2222:是的,你是对的。时间差:1090纳秒对931纳秒。我想我不会太担心的^这取决于他有多少根弦,但这是真的另外,如果所有字符串看起来都像图中显示的由冒号分隔的2个字符序列,那么只需执行s[:8]就更好了。