问题标签 [dictionary]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
8 回答
13981 浏览

python - 在 python 中将 XML 编辑为字典?

我正在尝试从 python 中的模板 xml 文件生成自定义的 xml 文件。

从概念上讲,我想读入模板 xml,删除一些元素,更改一些文本属性,然后将新的 xml 写入文件。我希望它像这样工作:

现在我想写入文件,但我不知道如何到达 ElementTree.ElementTree.write()

有没有办法做到这一点,或者有人可以建议以不同的方式做到这一点?

0 投票
6 回答
6206 浏览

python - 在 Python 中存储集合数据的最佳方式是什么?

我有以下形式的数据列表:

[(id\__1_, description, id\_type), (id\__2_, description, id\_type), ... , (id\__n_, description, id\_type))

数据是从属于同一组的文件中加载的。在每个组中,可能有多个相同的 id,每个来自不同的文件。我不关心重复项,所以我认为存储所有这些内容的好方法是将其放入 Set 类型。但是有一个问题。

有时对于相同的 id,描述可能会略有不同,如下所示:

IPI00110753

  • 微管蛋白 alpha-1A 链
  • 微管蛋白 alpha-1 链
  • α-微管蛋白 1
  • α-微管蛋白同种型 M-α-1

(请注意,此示例取自uniprot 蛋白质数据库。)

我不在乎描述是否不同。我不能把它们扔掉,因为我使用的蛋白质数据库可能不包含某个标识符的列表。如果发生这种情况,我希望能够向生物学家显示人类可读的描述,以便他们大致了解他们正在研究的蛋白质。

我目前正在通过使用字典类型来解决这个问题。但是我不太喜欢这个解决方案,因为它使用了大量内存(我有很多这些 ID)。这只是它们的中间列表。在将 ID 放入数据库之前,还需要进行一些额外的处理,所以我想保持我的数据结构更小。

我真的有两个问题。首先,我会为此使用 Set 类型(而不是字典类型)获得更小的内存占用,还是应该使用排序列表,每次插入列表时检查 ID 是否存在,或者是否存在我没有想到的第三个解决方案?其次,如果 Set 类型是更好的答案,我如何键入它以仅查看元组的第一个元素而不是整个元素?

感谢您阅读我的问题,
蒂姆

更新

根据我收到的一些评论,让我稍微澄清一下。我对数据结构所做的大部分工作都是插入其中。我只读了两次,一次是用附加信息注释它,一次是要插入到数据库中。然而,在我插入数据库之前,可能会有额外的注释。不幸的是,我不知道此时是否会发生这种情况。

现在我正在研究将这些数据存储在不基于哈希表(即字典)的结构中。我希望新结构在插入时相当快,但读取它可以是线性的,因为我实际上只做了两次。我试图远离哈希表以节省空间。是否有更好的结构或者哈希表是否尽可能好?

*该信息是我通过查询 uniprot 获得的 Swiss-Prot 蛋白质标识符列表。

0 投票
0 回答
11558 浏览

javascript - 谁能推荐一个好的 Javascript 中的 Hashtable 实现?

我发现 jCache 和其他一些使用关联数组的本土方法。如果您有使用 jCache 的经验,是否有任何限制?

0 投票
5 回答
4750 浏览

c# - 更改 C# 字典中项目的基数

我有一本字典,比如

我逐步浏览字典中的所有内容,例如

它按照将 foo 添加到字典中的顺序执行此操作,因此添加的第一个项目是返回的第一个 foo。

如何更改基数,例如,添加的第三个 foo 将是返回的第二个 foo?换句话说,我想改变它的“索引”。

0 投票
16 回答
20154 浏览

list - Perl 的地图有什么意义?

没有真正理解地图功能的意义。任何人都可以用例子解释它的用途吗?

使用它而不是循环是否有任何性能优势,或者它只是糖?

0 投票
31 回答
2010814 浏览

c# - 如何遍历字典?

我已经看到了几种在 C# 中迭代​​字典的不同方法。有标准方法吗?

0 投票
6 回答
1047 浏览

dictionary - 发音词典

The CMU Pronouncing Dictionary是否有任何替代品,商业或开源?

0 投票
24 回答
254503 浏览

c# - .NET 字典中的重复键?

.NET 基类库中是否有允许使用重复键的字典类?我发现的唯一解决方案是创建一个类,例如:

但这对于实际使用来说是相当烦人的。在 Java 中,我相信 MultiMap 可以做到这一点,但在 .NET 中找不到类似物。

0 投票
11 回答
4052 浏览

.net - 为什么 .Net 字典中的条目要另外排序?

我刚刚看到这种行为,我对此感到有点惊讶......

如果我将 3 或 4 个元素添加到字典,然后执行“For Each”以获取所有键,它们会按照我添加它们的顺序出现。

这让我感到惊讶的原因是 Dictionary 应该是内部的 HashTable,所以我希望事情以任何顺序出现(按键的哈希排序,对吗?)

我在这里想念什么?这是我可以指望的行为吗?

编辑:好的,我已经想到了可能发生这种情况的许多原因(例如条目的单独列表,这是否是巧合等)。我的问题是,有人知道这到底是如何工作的吗?

0 投票
7 回答
18751 浏览

c# - 在字典的键上使用锁定

我有一个Dictionary<string, someobject>.

编辑:有人向我指出,我的例子很糟糕。我的整个意图不是更新循环中的引用,而是根据不同的线程更新不同的值需要更新/获取数据。我将循环更改为方法。

我需要更新字典中的项目 - 一次一个键,我想知道在我的 Dictionary 对象的 .key 值上使用锁定是否有任何问题?

这会在法庭上成立还是失败?我只希望字典中的每个值都被独立锁定,因此锁定(和更新)一个值不会锁定其他值。另外我知道锁定将持续很长时间 - 但数据在完全更新之前将无效。