加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

如果不奇怪,如何不返回任何内容或跳过列表中的某个元素

发布时间:2020-12-20 11:09:19 所属栏目:Python 来源:网络整理
导读:我是 Python的新手,我无法将我的想法转化为语法. 这是我给出的问题: 给定1乘n数组a,写一个函数odd(a)返回一个包含索引为奇数的元素的新数组. a = np.array([1,3,4,2,5,8,1])odd(a) = array([3,1]) 这就是我到目前为止所拥有的: def odd(a): return ['' if
我是 Python的新手,我无法将我的想法转化为语法.

这是我给出的问题:

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

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

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

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

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

但是,这会返回:

[1,'',1]

我怎么只是跳过那个元素?

解决方法

使用enumerate迭代遍历元素及其索引同时使用条件索引%2来提取所有奇数位置值:

import numpy as np

def odd(a):
    return [x for i,x in enumerate(a) if i % 2]

a = np.array([1,1])
print(odd(a))

# [3,1]

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读