【问题标题】:Store indexes of each element of list in Python在 Python 中存储列表中每个元素的索引
【发布时间】:2021-11-15 06:16:23
【问题描述】:

我正在尝试使用字典存储在 python 中重复数字的数组的每个元素的索引。

arr=[1,1,3,2,2]

期望的输出应该是{1:0,1:1,3:2,2:3,2:4} 而不是被新元素索引覆盖的前一个元素的索引给出{1:1,3:2,2:4}

【问题讨论】:

  • 字典中的键是唯一的,不能有两个具有相同键的条目。
  • 通过键 2 索引所需输出的结果是什么?
  • 如果你需要相同数字的重复索引,那么考虑defaultdict。

标签: arrays python-3.x list dictionary hashmap


【解决方案1】:

正如 Nir ​​H. 对您的问题发表的评论一样,我还通知您 字典中的键必须是唯一的,即您不能拥有这样的字典 {10:0,10:1}
因此,更好的解决方案是将索引用作键,而这些索引处的列表值就是字典的值。所以这将是您的情况的最终结果:
{0:1, 1:1, 2:3, 3:2, 4:2} 所以这里的键是索引,值是列表的元素。 要实现这一点:

arr=[1,1,3,2,2]
dct=dict()
for in in range(len(arr)):
    dct[i]=arr[i]
print(dct)

输出:
{0:1, 1:1, 2:3, 3:2, 4:2} 这将是您问题的答案。 但是我真的不明白您通过将索引及其相应元素存储在字典中来实现的目标。似乎是多余的和不必要的。

【讨论】:

    猜你喜欢
    • 2019-09-19
    • 2016-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-06
    • 1970-01-01
    • 1970-01-01
    • 2023-04-06
    相关资源
    最近更新 更多