Tag: 字典

从字典中随机input

什么是最好的方式来从一个字典在C#中随机input? 我需要从fictionary中获取一些随机对象以显示在页面上,但是我不能使用: Random rand = new Random(); Dictionary< string, object> dict = GetDictionary(); return dict[rand.Next()]; 因为索引无法访问字典。 有什么build议么?

多级defaultdict可变深度?

我有一个大的列表,如: [A][B1][C1]=1 [A][B1][C2]=2 [A][B2]=3 [D][E][F][G]=4 我想build立一个多层次的字典,如: A –B1 —–C1=1 —–C2=1 –B2=3 D –E —-F ——G=4 我知道,如果我使用recursiondefaultdict我可以写table[A][B1][C1]=1 , table[A][B2]=2 ,但这只适用于硬编码插入语句。 在parsing列表的时候,我没有预先调用table[key1][key2][…]多less个[ table[key1][key2][…] 。

在Python中相交两个字典

我正在一个倒排索引的search程序。 索引本身就是一个字典,它的键是词,它们的值本身是短文档的字典,ID号是键,文本内容是值。 为了执行两个术语的“AND”search,因此我需要交叉他们的发布列表(字典)。 什么是明确的(不一定是非常聪明的)在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 …

在C#中有没有像Dictionary <>的类,但只有键,没有值?

我想另一种方式来说这将是“在C#中有像List<>类,但优化检查是否存在一个特定的值? 我肯定有一小组值List<>.Contains可能会很好,但是如果我有一个数千或数百万个值的集合,并想知道某个值是否在其中? 我过去通过创build一个Dictionary<object, int>并将每个键的值设置为0来实现这种事情,但是这感觉真的很笨拙。 现在有堆栈溢出,我的愚蠢的问题可以转化为成千上万的教育(几十,甚至)。 所以在这里! 我甚至不知道这样的一个class会被称为什么,除了可能设置,所以明显的search主题已经…挑战:)

YAML:空字典

如何在YAML中编写一个字典(地图),其中一个键的空string作为其值?

限制python字典的大小

我想在python中使用dict,但将键/值对的数量限制为X.换句话说,如果dict当前正在存储X个键/值对,并执行插入操作,我想要现有的对将被丢弃。 如果这是最近最less插入/访问键,那将会很好,但这不是完全必要的。 如果这在标准库中存在,请节省我一些时间并指出!

我应该使用一个C#字典,如果我只需要快速查找键,并且值是不相关的?

我需要能够插入条目,然后能够快速确定是否已经插入条目的数据types。 Dictionary似乎适合这种需要(见例)。 但是,我没有使用字典的values 。 我仍然应该使用字典还是有另一个更适合的数据types? public class Foo { private Dictionary<string, bool> Entities; … public void AddEntity(string bar) { if (!Entities.ContainsKey(bar)) { // bool value true here has no use and is just a placeholder Entities.Add(bar, true); } } public string[] GetEntities() { return Entities.Keys.ToArray(); } }

相当于R中的一个python字典

我想在R中做一个python字典。基本上,在python中我有: visited = {} if atom_count not in visited: Do stuff visited[atom_count] = 1 这个想法是,如果我看到具体的,atom_count,我已经访问[atom_count] = 1。因此,如果我再次看到atom_count,我不“做东西”。 Atom_Count是一个整数。 谢谢!

字典的元组列表

以下是我目前如何将元组列表转换为Python中的字典: l = [('a',1),('b',2)] h = {} [h.update({k:v}) for k,v in l] > [None, None] h > {'a': 1, 'b': 2} 有没有更好的办法? 似乎应该有一个class轮来做到这一点。

有没有理由不使用有序的字典?

我指的是collections模块中的OrderedDict 。 如果它具有可订购的附加function,我认为可能经常不需要,但即使如此,是否有任何缺点? 它慢吗? 它是否缺less任何function? 我没有看到任何遗漏的方法。 总之,为什么我不应该总是用这个而不是一个正常的字典呢?