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]就更好了。