Tag: 字典

取一个JSONstring,将其解组成一个map interface {},编辑并将其编组成一个字节似乎更复杂,那么它应该是

我正在做非常基本的JSON操作来学习一些Go,它工作,除了一件事情似乎closures,我必须编写.(map[string]interface{})和.([]interface{})来访问JSON中的条目,特别是如果他们是儿童的孩子等等 看到这里(也在Go游乐场: https : //play.golang.org/p/Wd-pzHqTsU ): package main import ( "fmt" "encoding/json" ) func main() { JSON := []byte(`{"key1":"val1","key2":{"c1key1":"c1val1"},"key3":[{"c2key1":{"c3key1":"c3val1"}}]}`) fmt.Printf("%s\n", JSON) var d map[string]interface{} json.Unmarshal(JSON, &d) fmt.Println(d["key3"].([]interface{})[0].(map[string]interface{})["c2key1"].(map[string]interface{})["c3key1"]) d["key3"].([]interface{})[0].(map[string]interface{})["c2key1"].(map[string]interface{})["c3key1"] = "change1" fmt.Println(d["key3"].([]interface{})[0].(map[string]interface{})["c2key1"].(map[string]interface{})["c3key1"]) JSON, _ = json.Marshal(d) fmt.Printf("%s\n", JSON) } 哪个返回: {"key1":"val1","key2":{"c1key1":"c1val1"},"key3":[{"c2key1":{"c3key1":"c3val1"}}]} c3val1 change1 {"key1":"val1","key2":{"c1key1":"c1val1"},"key3":[{"c2key1":{"c3key1":"change1"}}]} 现在在Python中,我直接访问键/值,而不是定义每次访问的types,而不是定义fmt.Println(d["key3"].([]interface{})[0].(map[string]interface{})["c2key1"].(map[string]interface{})["c3key1"])您print d["key3"][0]["c2key1"]["c3key1"] Python示例: import json JSON = '{"key3": [{"c2key1": {"c3key1": "c3val1"}}], "key2": […]

在嵌套的Python字典中search一个键

我有这样的一些Python字典: A = {id: {idnumber: condition},…. 例如 A = {1: {11 : 567.54}, 2: {14 : 123.13}, ….. 我需要search,如果字典有任何idnumber == 11并计算与condition东西。 但如果在整个字典中没有任何idnumber == 11 ,我需要继续下一个字典。 这是我的尝试: for id, idnumber in A.iteritems(): if 11 in idnumber.keys(): calculate = …… else: break

如何总结字典元素

在Python中,我有一个dicts列表: dict1 = [{'a':2, 'b':3},{'a':3, 'b':4}] 我想要一个包含所有字典总和的最后一个字典。 即结果将是: {'a':5, 'b':7} 注意:列表中的每个字典都包含相同数量的键值对。

设置自动筛选多个通配符

现在我正在做编码设置数据图表的filter。 基本上,我不知道如何在这里发布数据表,所以只要input它们即可): (从左边开始是列A)名称* B设备*数量*出售*所有者 基本上我需要过滤掉2列: – 带有任何字的BDevice包含“M1454”或“M1467”或“M1879”(这意味着M1454A或M1467TR仍然适合) – 拥有PROD或RISK的所有者 这是我写的代码: Sub AutoFilter() ActiveWorkbook.ActiveSheet..Range(B:B).Select Selection.Autofilter Field:=1 Criteria1:=Array( _ "*M1454*", "*M1467*", "*M1879*"), Operator:=xlFilterValues Selection.AutoFilter Field:=4 Criteria1:="=PROD" _ , Operator:=xlOr, Criteria2:="=RISK" End Sub 当我运行代码时,机器返回错误1004,似乎是错误的部分是filter第2部分(我不确定使用的字段,所以我不能肯定地说) 编辑; Santosh:当我尝试你的代码时,机器出错9的下标超出范围。 错误来自with语句。 (因为数据表有A到AS列,所以我只是改为A:AS)

? 在Xcode 6 beta 6中没有名为“下标”的成员

在屏幕上显示时,我使用了下面几行代码来获取键盘的框架。 我已经注册到UIKeyboardDidShowNotification通知。 func keyboardWasShown(notification: NSNotification) { var info = notification.userInfo var keyboardFrame: CGRect = info.objectForKey(UIKeyboardFrameEndUserInfoKey).CGRectValue() } 这曾经工作在testing版5.我下载了最新的Xcode 6版本,这是beta 6,这个错误发生在第二行。 '[NSObject:AnyObject]?' 没有名为'objectForKey'的成员 谷歌search后,我遇到了这个解决scheme。 我改变了它, var keyboardFrame: CGRect = (info[UIKeyboardFrameEndUserInfoKey] as NSValue).CGRectValue() 但现在看来也是过时了。 因为我现在得到这个错误。 '[NSObject:AnyObject]?' 没有名为“下标”的成员 我不知道这个错误或如何解决它。

计算string中每个字母的频率

这是一个来自学校的问题。 我做得对,但我猜测会有一个更简单的方法。 这是最简单的方法吗? def countLetters(word): letterdict={} for letter in word: letterdict[letter] = 0 for letter in word: letterdict[letter] += 1 return letterdict 这应该看起来像这样: >>> countLetters('google') {'e': 1, 'g': 2, 'l': 1, 'o': 2}

Python字典:types错误:不可用types:'列表'

我在从另一个字典开始填充python字典时遇到麻烦。 假设“源”字典有string作为键,并且每个值都有一个自定义对象的列表。 我正在创build我的目标字典,就像我一直在创build我的“源”字典一样,这怎么可能这不起作用? 我明白了 TypeError: unhashable type: 'list' 代码: aTargetDictionary = {} for aKey in aSourceDictionary: aTargetDictionary[aKey] = [] aTargetDictionary[aKey].extend(aSourceDictionary[aKey]) 错误是在这一行: aTargetDictionary[aKey] = []

是否有一个IDictionary的实现,在丢失的键,返回默认值,而不是抛出?

如果关键字丢失,Dictionary中的索引器将引发exception。 是否有一个IDictionary的实现,而不是将返回默认(T)? 我知道“TryGetValue”方法,但这是不可能与linq一起使用的。 这会有效地做我需要的东西吗? myDict.FirstOrDefault(a => a.Key == someKeyKalue); 我不认为这将会迭代键而不是使用散列查找。

POST json字典

我正在尝试以下方法:带有字典的模型在第一个Ajax请求上发送它,然后将结果再次序列化并将其发送回控制器。 这应该testing我可以在我的模型中找回字典。 它不起作用 这是我的简单testing: public class HomeController : Controller { public ActionResult Index (T a) { return View(); } public JsonResult A(T t) { if (t.Name.IsEmpty()) { t = new T(); t.Name = "myname"; tD = new Dictionary<string, string>(); tDAdd("a", "a"); tDAdd("b", "b"); tDAdd("c", "c"); } return Json(t); } } //model public class T { […]

我如何序列化一个Python字典到一个string,然后回到一个字典?

我如何序列化一个Python字典到一个string,然后回到一个字典? 字典里面会有列表和其他字典。