很抱歉,我不明白隐式for循环。所以我想我可以问问是否有人会为我多解释一点。
我煞费苦心地写了以下隐含for循环:
ueberdata= [1,5,2,6,1,2,3,4,1,3,5,6]
order = [1,3,5]
ind = [list(ueberdata).index(i) for i in order]
这给了我这些东西第一次出现的顺序索引。
ind : 0,6,11
到目前为止还不错。现在我想扩展这个例子。也许ueberdata更大。也许我现在想要所有的指数。我被难住了。我得把它们套成圈。有人能帮我理解这个问题吗?
一些澄清(抱歉,伙计们,我真的需要更好地表达自己): 我真正想做的是绘制一个数据集。我有这三种类型的数据点,我想在我的曲线图上看到。现在我的数据集当然超过了3:)。我想绘制另一列,所以我需要这些索引。很抱歉刚才这么说,但我想这可能会分散我的注意力。我想打印文件中的所有数据点,而不仅仅是第一组。
从python documentation中,列表理解可以读取为
在某种意义上,类似于
它不取决于列表的大小,回答您的第一个问题。
为了得到所有的索引,我会使用一个辅助函数,比如
如果你想要所有的索引,你可以这样做
如果列表可以很大,那么创建helper defaultdict会更有效
这叫做“list comprehension”。
您的代码可能会变得更简单,不确定为什么要在已有列表的情况下创建列表:
如果您想要更多的索引,只需延长
order
。相关问题 更多 >
编程相关推荐