通过步长切片

7、Given a list of N numbers。
给定一个含有N个数字的列表。

使用单一的列表生成式来产生一个新的列表,该列表只包含满足以下条件的值:
(a)偶数值
(b)元素为原始列表中偶数切片。

例如,如果list[2]包含的值是偶数。
那么这个值应该被包含在新的列表当中,因为这个数字同时在原始列表的偶数序列(2为偶数)上。然而,如果list[3]包含一个偶数,

那个数字不应该被包含在新的列表当中,因为它在原始列表的奇数序列上。

list = [ 1 , 3 , 5 , 8 , 10 , 13 , 18 , 36 , 78 ]
a = [x for x in list[::2] if x%2 == 0]  # [::2] 中的2是步长
print(a)

先通过步长切出 下标是偶数的,得到的结果是 1 5 10 。。,然后通过判断取余,取出其中是偶数的,把取出来的是通过列表生成式生成。

posted @ 2017-08-23 20:03  hzxPeter  阅读(158)  评论(0编辑  收藏  举报