了解列表和逻辑索引
慢慢地从 Matlab 到 Python...
我有这个列表表格
还有一个包含相同数量的列表
我正在尝试提取元素 list1, 不含任何值 nan, 和相应的元素 list2, 即结果应该是:
在 Matlab 逻辑分度很容易做到。
在这里,我有一种感觉,以某种形式对列表的理解将成为他自己的事业,但我被困在它上:
什么明显无用 list2.
或者,以下逻辑索引的尝试不是
在职的 /"索引必须是整数,而不是列表"/
我相信这是痛苦的琐碎,但我无法理解它,帮助我!
我有这个列表表格
list1 = [[1, 2, nan], [3, 7, 8], [1, 1, 1], [10, -1, nan]]
还有一个包含相同数量的列表
list2 = [1, 2, 3, 4]
我正在尝试提取元素 list1, 不含任何值 nan, 和相应的元素 list2, 即结果应该是:
list1_clean = [[3, 7, 8], [1, 1, 1]]
list2_clean = [2, 3]
在 Matlab 逻辑分度很容易做到。
在这里,我有一种感觉,以某种形式对列表的理解将成为他自己的事业,但我被困在它上:
list1_clean = [x for x in list1 if not any/isnan/x//]
什么明显无用 list2.
或者,以下逻辑索引的尝试不是
在职的 /"索引必须是整数,而不是列表"/
idx = [any/isnan/x// for x in list1]
list1_clean = list1[idx]
list2_clean = list2[idx]
我相信这是痛苦的琐碎,但我无法理解它,帮助我!
没有找到相关结果
已邀请:
3 个回复
八刀丁二
赞同来自:
.
从传输到它的迭代中返回相同索引的元素。
现在解压缩
, 为了获得必要的结论:
帮助
:
您可以使用
, 如果您需要有效的内存解决方案,因为它返回迭代器。
君笑尘
赞同来自:
从您可以从哪里提取每个值,使:
建议使用模块
的
, 它使用迭代器可以根据您的问题节省大量内存。
反而
您可以使用
, 什么可以更可读。
欢迎来到 Python!
君笑尘
赞同来自:
http://docs.python.org/2/libra ... isnan
.
我们插入元素
和
, 如果源列表中没有任何项目是
. 要查看它,我们使用该功能
http://docs.python.org/2/libra ... 23any
, 哪个退货
, 如果任何迭代迭代相等
.
使它更少,避免使用
, 你可能会做,
功能 ->
功能 ->