以下数据来自网页并包含如下条目(如包含多行的表格):
entry1: key1: value1-1, key2: value2-1, key3: value3-1
entry2: key1: value1-2, key2: value2-2, key3: value3-2
entry3: key1: value3-1, key2: value2-3, key3: value3-3
......
entry100: key1: value100-1, key2: value100-2, key3: value100-3
Run Code Online (Sandbox Code Playgroud)
如何使用字典存储这些数据?数据来自列表,因此'字典附加'应该在循环中完成...
这是我目前的解决方案:
case_list = {}
for entry in entries_list:
case = {'key1': value, 'key2': value, 'key3':value }
case_list.update(case)
Run Code Online (Sandbox Code Playgroud)
但最终case_list只包含最后一个案例条目...有人可以帮我这个吗?我希望case_list包含100个条目,没有条目之间的任何覆盖,然后我需要将它存储到DB.
Ana*_*mar 18
在您当前的代码中,Dictionary.update()它更新的内容是什么(更新意味着该值是从传入字典中的相同键的值覆盖)当前字典中的键,其中字典中的值作为参数传入其中(添加任何新密钥:值对(如果存在).单个平面字典不满足您的要求,您需要一个字典列表或一个嵌套字典的字典.
如果你想要一个字典列表(列表中的每个元素都是一个条目的双子组),那么你可以将它case_list作为一个列表然后附加case到它(而不是更新).
示例 -
case_list = []
for entry in entries_list:
case = {'key1': entry[0], 'key2': entry[1], 'key3':entry[2] }
case_list.append(case)
Run Code Online (Sandbox Code Playgroud)
或者你也可以有一个词典字典,其中字典中的每个元素的键是entry1或entry2等,并且值是该条目的相应字典.
case_list = {}
for entry in entries_list:
case = {'key1': value, 'key2': value, 'key3':value }
case_list[entryname] = case #you will need to come up with the logic to get the entryname.
Run Code Online (Sandbox Code Playgroud)
根据我的理解,您需要字典中的数据,如下所示:
key1: value1-1,value1-2,value1-3....value100-1
key2: value2-1,value2-2,value2-3....value100-2
key3: value3-1,value3-2,value3-2....value100-3
Run Code Online (Sandbox Code Playgroud)
为此,您可以为每个字典键使用列表:
case_list = {}
for entry in entries_list:
if key in case_list:
case_list[key1].append(value)
else:
case_list[key1] = [value]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
60744 次 |
| 最近记录: |