11

将列表拆分为由的偶数索引元素和的奇数索引元素组成的最Pythonic的方法是什么?ABCBACA

例如A = [1, 3, 2, 6, 5, 7]。那么B应该是[1, 2, 5]C应该是[3, 6, 7]

4

1 回答 1

30

使用步幅切片:

B, C = A[::2], A[1::2]

序列切片不仅支持指定开始值和结束值,还支持步幅(或步长);[::2]选择从 0 开始的第二个值,[1::2]每个值从 1 开始。

演示:

>>> A = [1, 3, 2, 6, 5, 7]
>>> B, C = A[::2], A[1::2]
>>> B
[1, 2, 5]
>>> C
[3, 6, 7]
于 2013-10-03T07:41:41.540 回答