首页 > 解决方案 > 如果不奇怪,如何不返回任何内容或跳过列表中的某个元素

问题描述

我对 Python 很陌生,我无法将我的想法转化为语法。

这是我遇到的问题:

给定一个 1×n 数组 a,编写一个函数 odd(a) 以返回一个包含索引为奇数的元素的新数组。

a = np.array([1, 3, 4, 2, 5, 3, 8, 1])

odd(a) = array([3, 2, 3, 1])

这就是我到目前为止所拥有的:

def odd(a):
    return ['' if x%2==0 else x for x in a]

但是,这会返回:

[1, 3, '', '', 5, 3, '', 1]

我如何简单地跳过该元素?

标签: pythonsyntax

解决方案


使用切片和步骤(请参阅此处的参考:了解切片表示法):

def odd(a):
  return a[1::2]

#=> [3 2 3 1]

推荐阅读