【问题标题】:How do I take an array indicating the indicies of another array and store those values in yet another array?如何获取一个指示另一个数组索引的数组并将这些值存储在另一个数组中?
【发布时间】:2018-10-10 11:35:27
【问题描述】:

我在 Jupyter Notebooks 中使用 Python 3.6。

所以,我有一个数组表示另一个数组的索引,例如,

[10, 123, 320, 800] 

将对应于条目 10、条目 123 等。这些是另一个数组中感兴趣的价值索引,大约有 700 个条目。我需要获取这些指示的条目并将它们存储在一个单独的数组中。我还需要将所有条目保持在开始之前的相同时间顺序。有什么想法吗?

【问题讨论】:

    标签: python arrays python-3.x


    【解决方案1】:

    假设您的索引列表存储为变量i,而您的主列表存储为变量l,您可以使用以下列表推导来构造一个列表,其值对应于l 的值,如下所示i中的索引:

    [l[n] for n in i]
    

    【讨论】:

    • 啊,我明白了。我应该提到我正在使用 set() 函数,它似乎不支持这一点。我的代码看起来像 i = set(list1) & set(list2) 并且 n 是一个包含条目的长数组。使用您的代码,我收到错误“设置对象不可下标”。即使将 set 数组的输出存储在另一个数组中,然后使用您的代码也会返回此错误。有什么建议吗?
    • 集合不保持顺序并且不可索引,因此如果您希望能够“按照与之前相同的时间顺序保持所有条目”,那么您应该使用列表。
    • 好的,我明白了。唯一的问题是我不知道如何找到我所知道的两个列表之间的差异是使用 set 函数。使用列表时,我无法使用 &,因为它不受支持,并且我可以找到的所有其他示例都使用 set 函数来查找两个列表之间的公共元素。
    • 当需要集合操作时,您始终可以使用set() 构造函数将列表动态转换为集合。
    猜你喜欢
    • 2018-03-28
    • 2021-06-24
    • 2018-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-21
    • 2016-05-26
    相关资源
    最近更新 更多