标签: dictionary

如何在JavaScript中进行关联数组/散列

我需要使用JavaScript存储一些统计信息,就像我在C#中这样做:

Dictionary<string, int> statistics;

statistics["Foo"] = 10;
statistics["Goo"] = statistics["Goo"] + 1;
statistics.Add("Zoo", 1);
Run Code Online (Sandbox Code Playgroud)

JavaScript中是否有Hashtable类似的东西Dictionary<TKey, TValue>
我怎么能以这种方式存储价值?

javascript dictionary hashtable

548
推荐指数
9
解决办法
71万
查看次数

Python将新项添加到字典中

我想在python中将项添加到现有字典中.例如,这是我的字典:

default_data = {
            'item1': 1,
            'item2': 2,
}
Run Code Online (Sandbox Code Playgroud)

我想添加新项目,以便:

default_data = default_data + {'item3':3}
Run Code Online (Sandbox Code Playgroud)

怎么做到这一点?

python dictionary items

529
推荐指数
3
解决办法
147万
查看次数

520
推荐指数
10
解决办法
39万
查看次数

将嵌套的Python dict转换为对象?

我正在寻找一种优雅的方法,使用一些嵌套的dicts和列表(即javascript样式的对象语法)在dict上使用属性访问来获取数据.

例如:

>>> d = {'a': 1, 'b': {'c': 2}, 'd': ["hi", {'foo': "bar"}]}
Run Code Online (Sandbox Code Playgroud)

应该可以通过这种方式访问​​:

>>> x = dict2obj(d)
>>> x.a
1
>>> x.b.c
2
>>> x.d[1].foo
bar
Run Code Online (Sandbox Code Playgroud)

我认为,如果没有递归,这是不可能的,但是什么是获得dicts的对象样式的好方法?

python dictionary object

509
推荐指数
20
解决办法
23万
查看次数

在Python中访问字典中的任意元素

如果a mydict不为空,我访问任意元素:

mydict[mydict.keys()[0]]
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法来做到这一点?

python dictionary

474
推荐指数
8
解决办法
43万
查看次数

合并C#中的词典

Dictionary<T1,T2>在C#中合并2个或更多字典()的最佳方法是什么?(像LINQ这样的3.0功能很好).

我正在考虑一种方法签名:

public static Dictionary<TKey,TValue>
                 Merge<TKey,TValue>(Dictionary<TKey,TValue>[] dictionaries);
Run Code Online (Sandbox Code Playgroud)

要么

public static Dictionary<TKey,TValue>
                 Merge<TKey,TValue>(IEnumerable<Dictionary<TKey,TValue>> dictionaries);
Run Code Online (Sandbox Code Playgroud)

编辑:从Jare​​dPar和Jon Skeet得到一个很酷的解决方案,但我正在考虑处理重复键的东西.在发生碰撞的情况下,只要它是一致的,将哪个值保存到dict并不重要.

c# merge dictionary

464
推荐指数
13
解决办法
26万
查看次数

是否有任何pythonic方法来组合两个dicts(为两个键中出现的键添加值)?

例如,我有两个词:

Dict A: {'a': 1, 'b': 2, 'c': 3}
Dict B: {'b': 3, 'c': 4, 'd': 5}
Run Code Online (Sandbox Code Playgroud)

我需要一种pythonic方式"组合"两个dicts,结果是:

{'a': 1, 'b': 5, 'c': 7, 'd': 5}
Run Code Online (Sandbox Code Playgroud)

也就是说:如果两个词中都出现一个键,则添加它们的值,如果它只出现在一个词典中,则保持其值.

python dictionary

460
推荐指数
12
解决办法
12万
查看次数

collections.defaultdict如何运作?

我已经阅读了python文档中的示例,但仍然无法弄清楚这个方法的含义.有人可以帮忙吗?以下是python文档中的两个示例

>>> from collections import defaultdict

>>> s = 'mississippi'
>>> d = defaultdict(int)
>>> for k in s:
...     d[k] += 1
...
>>> d.items()
[('i', 4), ('p', 2), ('s', 4), ('m', 1)]
Run Code Online (Sandbox Code Playgroud)

>>> s = [('yellow', 1), ('blue', 2), ('yellow', 3), ('blue', 4), ('red', 1)]
>>> d = defaultdict(list)
>>> for k, v in s:
...     d[k].append(v)
...
>>> d.items()
[('blue', [2, 4]), ('red', [1]), ('yellow', [1, 3])]
Run Code Online (Sandbox Code Playgroud)

参数intlist用于什么?

python dictionary default-value defaultdict

455
推荐指数
11
解决办法
33万
查看次数

使用值初始化C#字典的正确方法?

我正在使用以下代码在C#文件中创建字典:

private readonly Dictionary<string, XlFileFormat> FILE_TYPE_DICT
        = new Dictionary<string, XlFileFormat>
        {
            {"csv", XlFileFormat.xlCSV},
            {"html", XlFileFormat.xlHtml}
        };
Run Code Online (Sandbox Code Playgroud)

new错误下面有一条红线:

无法使用功能'集合initilializer',因为它不是ISO-2 C#语言规范的一部分

谁能解释一下这里发生了什么?

编辑:好的,所以事实证明我使用的是.NET版本2.

c# dictionary

447
推荐指数
7
解决办法
39万
查看次数

实现Map并保持插入顺序的Java类?

我正在寻找一个具有键值关联的java类,但不使用哈希.这是我目前正在做的事情:

  1. 添加值到a Hashtable.
  2. 获取一个迭代器Hashtable.entrySet().
  3. 迭代所有值并:
    1. 获取一个Map.Entry迭代器.
    2. Module根据值创建类型(自定义类)的对象.
    3. 将类添加到JPanel.
  4. 显示面板.

这个问题是我无法控制返回值的顺序,所以我不能以给定的顺序显示值(不对代码进行硬编码).

我会使用一个ArrayListVector为此,但稍后在代码中我需要抓取Module给定Key 的对象,我无法使用ArrayListVector.

有没有人知道一个可以执行此操作的免费/开源Java类,或者Hashtable根据添加时间来获取值的方法?

谢谢!

java dictionary key-value

438
推荐指数
5
解决办法
24万
查看次数