Questions tagged «dictionary»

词典将键映射到值,从而可以从键中高效地检索值。USE [map-function]标签,用于在数据上映射函数,请;对于地理,[地图]。

8
Python中是否有“ multimap”实现?
我是新来的Python,和我熟悉的实现屈德宁在其他 语言。Python是否内置了这样的数据结构,或者在常用的库中可用? 为了说明我所说的“ multimap”: a = multidict() a[1] = 'a' a[1] = 'b' a[2] = 'c' print(a[1]) # prints: ['a', 'b'] print(a[2]) # prints: ['c']

5
熊猫DataFrame性能
Pandas确实很棒,但令我惊讶的是,从Pandas.DataFrame中检索值的效率低下。在下面的玩具示例中,即使DataFrame.iloc方法也比字典慢100倍以上。 问题:这里的教训仅仅是字典是查找价值的更好方法吗?是的,我知道那正是他们的目的。但是我只是想知道是否缺少有关DataFrame查找性能的信息。 我意识到这个问题比“提问”更“有趣”,但是我会接受一个提供洞察力或观点的答案。谢谢。 import timeit setup = ''' import numpy, pandas df = pandas.DataFrame(numpy.zeros(shape=[10, 10])) dictionary = df.to_dict() ''' f = ['value = dictionary[5][5]', 'value = df.loc[5, 5]', 'value = df.iloc[5, 5]'] for func in f: print func print min(timeit.Timer(func, setup).repeat(3, 100000)) 值=字典[5] [5] 0.130625009537 值= df.loc [5,5] 19.4681699276 值= …

2
C#字典:通过声明使Key不区分大小写
我有Dictionary<string, object>字典。它曾经是,Dictionary<Guid, object>但是其他“标识符”已经发挥作用,并且现在将键作为字符串处理。 问题是Guid来自我的源数据的键是VarChar,所以现在的键"923D81A0-7B71-438d-8160-A524EA7EFA5E"与"923d81a0-7b71-438d-8160-a524ea7efa5e"(与Guids时不是问题)不同。 .NET框架的真正优点(也是很好的方面)是我可以这样做: Dictionary<string, CustomClass> _recordSet = new Dictionary<string, CustomClass>( StringComparer.InvariantCultureIgnoreCase); 而且效果很好。但是嵌套字典呢?如下所示: Dictionary<int, Dictionary<string, CustomClass>> _customRecordSet = new Dictionary<int, Dictionary<string, CustomClass>>(); 我如何在这样的嵌套字典上指定字符串比较器?

6
从C#通用字典中筛选出值
我有一个C#字典,Dictionary<Guid, MyObject>我需要根据的属性进行过滤MyObject。 例如,我要从字典中删除所有记录,其中MyObject.BooleanProperty = false。实现这一目标的最佳方法是什么?

7
在字典中增加数值
我正在使用下面的代码在字典中增加或插入一个值。如果我要递增的键不存在,我想将其值设置为1。 public void IncrementCount(Dictionary<int, int> someDictionary, int id) { int currentCount; if (someDictionary.TryGetValue(id, out currentCount)) { someDictionary[id] = currentCount + 1; } else { someDictionary[id] = 1; } } 这样是否合适?
74 c#  dictionary 

4
将两个列表映射到C#中的字典中
给定两个 相同大小的IEnumerables ,如何 使用Linq将其转换为a Dictionary ? IEnumerable<string> keys = new List<string>() { "A", "B", "C" }; IEnumerable<string> values = new List<string>() { "Val A", "Val B", "Val C" }; var dictionary = /* Linq ? */; 预期的输出是: A: Val A B: Val B C: Val C 我想知道是否有一些简单的方法来实现它。 我应该担心表现吗?如果我有大量收藏怎么办? 我没有一种更简单的方法来执行此操作,目前我正在这样做: 我有一个Extension方法,该方法将循环IEnumerable为我提供元素和索引号。 …

8
在Python中相交两个字典
我正在研究一个反向索引的搜索程序。索引本身是一个字典,其键是术语,其值本身是短文档的字典,ID号是键,其文本内容是值。 为了对两个词执行“与”搜索,因此我需要与他们的发布列表(字典)相交。在Python中有什么明确的方法(不一定太聪明)?我首先尝试了以下方法iter: p1 = index[term1] p2 = index[term2] i1 = iter(p1) i2 = iter(p2) while ... # not sure of the 'iter != end 'syntax in this case ...


7
如何使用以用户定义类型为键的std :: maps?
我想知道为什么不能将STL映射与用户定义的类一起使用。当我编译下面的代码时,我收到以下神秘的错误消息。这是什么意思?此外,为什么仅在用户定义的类型中发生这种情况?(将原始类型用作键时可以使用。) C:\ MinGW \ bin .. \ lib \ gcc \ mingw32 \ 3.4.5 ........ \ include \ c ++ \ 3.4.5 \ bits \ stl_function.h ||在成员函数`bool std ::中less <_Tp> :: operator()(const _Tp&,const _Tp&)const [with _Tp = Class1]':| C:\ MinGW \ bin .. \ lib \ gcc \ mingw32 \ …

6
获取Python词典的子集
我有一本字典: {'key1':1, 'key2':2, 'key3':3} 我需要将该词典的子集传递给第三方代码。它只想要一个包含键的字典['key1', 'key2', 'key99'],如果它得到另一个键(例如'key3'),它就会陷入混乱之中。有问题的代码不在我的控制范围内,所以我留在必须清理字典的位置。 将字典限制为一组键的最佳方法是什么? 给定示例字典和上面允许的键,我想要: {'key1':1, 'key2':2}


7
根据键对字典进行排序
我有一个像C#的字典 Dictionary<Person, int> 我想那种字典到位相对于键(在Person类的字段)。我该怎么做?互联网上所有可用的帮助都是列表的帮助,没有字典到位排序的特定示例。任何帮助将不胜感激!
73 c#  sorting  dictionary 

8
为什么.NET中没有XML可序列化的字典?
我需要一个XML可序列化的字典。实际上,我现在有两个非常不同的程序,需要一个。看到.NET没有它,我感到非常惊讶。我在其他地方问了这个问题,并得到了讽刺的回答。我不明白为什么这是一个愚蠢的问题。 鉴于各种.NET功能对XML序列化的依赖性如何,有人可以启发我,为什么没有XML可序列化的字典。希望您也可以解释为什么有些人认为这个愚蠢的问题。我想我必须缺少一些基本知识,希望您能够填补空白。


7
如何将一个类转换为Dictionary <string,string>?
我可以将Class转换为Dictionary &lt;string,string&gt;吗? 在Dictionary中,我希望将类属性作为键,将特定属性的值作为value。 假设我的课是 public class Location { public string city { get; set; } public string state { get; set; } public string country { get; set; } 现在假设我的数据是 city = Delhi state = Delhi country = India 现在您可以轻松理解我的观点了! 我要制作字典!那本字典应该像这样: Dictionary&lt;string,string&gt; dix = new Dictionary&lt;string,string&gt; (); dix.add("property_name", "property_value"); 我可以得到价值!但是,如何获取属性名称(而不是value)? …
73 c#  asp.net  dictionary 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.