python - 如果不奇怪,如何不返回任何内容或跳过列表中的某个元素
问题描述
我对 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]
我如何简单地跳过该元素?
解决方案
使用切片和步骤(请参阅此处的参考:了解切片表示法):
def odd(a):
return a[1::2]
#=> [3 2 3 1]
推荐阅读
- hive - cdh 到 hdp 配置单元
- javascript - 修改 D3 Force-Directed Graph 中的现有节点,而不会出现跳跃过渡
- batch-file - 有没有办法对 forfiles 执行否定搜索掩码?
- python - 如何在谷歌 colab 上执行搅拌机命令?
- mysql - 在 MySQL 中使用 GROUP BY 在 min COUNT 中包含零
- android - 通过服务覆盖视图传递触摸事件
- javascript - 虚拟主机:GitHub 页面不显示 HTML、CSS 和 JS 文件
- vue.js - Echarts如何突出显示2个折线图之间的区域
- python - 使用带有 graphql 查询的 API 在 R 上引发 401 错误但在 Python 上工作正常
- c - 如何使用 perf 或任何分析工具来查找我的应用程序或程序的功能所使用的 cpu 周期或 cpu 数量