Tag: 字典

为什么字典中的顺序是随意的?

我不明白如何遍历字典或在python中设置是由“任意”的顺序。 我的意思是,这是一种编程语言,所以语言中的所有内容都必须100%确定,正确吗? Python必须有一些决定select字典或集合的哪一部分的algorithm,第一,第二等等。 我错过了什么?

如何按值sorting字典?

我有一个从数据库中的两个字段读取的值的字典:string字段和数字字段。 string字段是唯一的,所以这是字典的关键。 我可以按键sorting,但我怎么能根据值sorting? 注意:我已经阅读了Stack Overflow问题如何通过Python中的字典值对字典列表进行sorting? 也许可以改变我的代码有一个字典的列表,但因为我真的不需要一个字典的列表,我想知道是否有一个更简单的解决scheme。

按值(Java)对Map <Key,Value>进行sorting

我对Java相对来说比较陌生,经常发现我需要对值进行Map<Key, Value>sorting。 由于这些值不是唯一的,我发现自己将keySet转换为一个array ,并通过数组sorting使用自定义比较器 对数组进行sorting ,该比较器对与键关联的值进行sorting。 有一个更简单的方法吗?

将列表转换为Python中的字典

比方说,我有一个Python列表,它的条目可以方便地映射到一个字典。 每个偶数元素代表字典的关键字,下面的奇数元素是值 例如, a = ['hello','world','1','2'] 我想把它转换成字典b ,在哪里 b['hello'] = 'world' b['1'] = '2' 语法上最干净的方法是什么?

像一个属性访问字典键?

我觉得更方便的访问字典键为obj.foo而不是obj['foo'] ,所以我写了这个片段: class AttributeDict(dict): def __getattr__(self, attr): return self[attr] def __setattr__(self, attr, value): self[attr] = value 不过,我认为Python必须有一些原因不能提供这种功能。 以这种方式访问​​字典键的警告和缺陷是什么?

ConcurrentHashMap和Collections.synchronizedMap(Map)有什么区别?

我有一个地图是由多个线程同时修改。 Java API中似乎有三种不同的同步Map实现: Hashtable Collections.synchronizedMap(Map) ConcurrentHashMap 据我所知, Hashtable是一个旧的实现(扩展了过时的Dictionary类),后来为适应Map接口而进行了修改。 虽然它是同步的,但它似乎有严重的可扩展性问题 ,并且不鼓励新项目。 但是另外两个呢? Collections.synchronizedMap(Map)和ConcurrentHashMap s返回的Maps之间有什么区别? 哪一个适合哪种情况?

通过键列表访问嵌套字典项目?

我有一个复杂的字典结构,我想通过一系列的键来访问正确的项目。 dataDict = { "a":{ "r": 1, "s": 2, "t": 3 }, "b":{ "u": 1, "v": { "x": 1, "y": 2, "z": 3 }, "w": 3 } } maplist = ["a", "r"] 要么 maplist = ["b", "v", "y"] 我做了下面的代码,但我敢肯定有一个更好,更有效的方法来做到这一点,如果任何人有一个想法。 # Get a given data from a dictionary with position provided as a list def getFromDict(dataDict, […]

如何使用Gson将JSON转换为HashMap?

我正在从一个返回JSON格式的数据的服务器请求数据。 提出请求时,将HashMap转换为JSON并不难,但另一方面似乎有点棘手。 JSON响应如下所示: { "header" : { "alerts" : [ { "AlertID" : "2", "TSExpires" : null, "Target" : "1", "Text" : "woot", "Type" : "1" }, { "AlertID" : "3", "TSExpires" : null, "Target" : "1", "Text" : "woot", "Type" : "1" } ], "session" : "0bc8d0835f93ac3ebbf11560b2c5be9a" }, "result" : "4be26bc400d3c" } 访问这些数据最简单的方法是什么? 我正在使用GSON模块。

我怎样才能初始化一个静态的地图?

你将如何初始化Java中的静态地图? 方法一:静态初始化 方法二:实例初始化(匿名子类)还是其他一些方法? 各有什么优点和缺点? 这里是一个例子说明两种方法: import java.util.HashMap; import java.util.Map; public class Test { private static final Map<Integer, String> myMap = new HashMap<Integer, String>(); static { myMap.put(1, "one"); myMap.put(2, "two"); } private static final Map<Integer, String> myMap2 = new HashMap<Integer, String>(){ { put(1, "one"); put(2, "two"); } }; }