有时我写这样的代码:
a,temp,b = s.partition('-')
我只需要选择第一个和第三个元素。
temp
永远不会使用。有一个更好的方法吗?换句话说,是否有更好的方法来选择不同的元素以创建新列表?
例如,我想使用旧列表中的元素
0,1,3,7
创建新列表。的代码是这样的:
newlist = [oldlist[0],oldlist[1],oldlist[3],oldlist[7]]
这很丑陋,不是吗?
最佳答案
您可以使用Python的扩展切片功能来定期访问列表:
>>> a = range(10)
>>> # Pick every other element in a starting from a[1]
>>> b = a[1::2]
>>> print b
>>> [1, 3, 5, 7, 9]
负索引工作符合您的预期:
>>> c = a[-1::-2]
>>> print c
>>> [9, 7, 5, 3, 1]
对你来说
>>> a, b = s.partition('-')[::2]