python - 如何为父级和子级分配python变量
问题描述
如何根据测试级别的用户输入(即P1、P2)分配python程序以输出可用列表(即List1、List2)。
我试着这样做。
蟒蛇代码:
testing_lists = db.child("testlevel").shallow().get()
print(testing_lists.val())
choice_level = testing_lists.val()['P1']
print(choice_level)
输出:
dict_keys(['P1', 'P2'])
……
TypeError:“dict_keys”对象不可下标
我无法从 P1 中获取要检索的数据。
更新(11 月 11 日)
假设我想在 P1 中为列表 1 和列表 2 创建一个数组,我该怎么办?
即,我该怎么做?
用户输入“P1”。输出提供 a={List1, List2}。
之后用户输入“List1”输出提供 b={Word1(value), Word2(value), Word3(value)}
跑步的例子。
输入 1:P1 输出 1:列表 1、列表 2
输入 2:列表 1 输出 2:苹果、香蕉、椰子
蟒蛇代码:
testing_lists = db.child("testlevel").get()
k=testing_lists.val()
打印 (k)
输出:
OrderedDict([('P1', {'list1': {'word1': 'apple', 'word2': 'banana', 'word3': 'coconut'}, 'list2': {'word1': '救护车', 'word2': 'bus', 'word3': 'car'}}), ('P2', {'list1': {'word1': 'apricot', 'word2': '甜菜根', 'word3 ': 'capsicum'}, 'list2': {'word1': 'apache', 'word2': '推土机', 'word3': 'chinook'}})])
之后,我不确定如何进行。
解决方案
既然你这样做db.child("testlevel").shallow().get()
了,我希望testing_lists
变量只包含下面的直接键,testlevel
而不是每个键下的值。如果确实如此,那么testing_lists.val()['P1']
就没有任何意义,因为从一开始就从未从数据库中检索过该值。
如果这个假设是正确的,你会想要get()
没有shallow()
:db.child("testlevel").get()
推荐阅读
- markdown - 在 Markdown 中稳健地生成锚点
- shell - 将 shell 脚本的输出组织到文本文件中的表中
- python - 更新数据库中的多行并记录它的最有效方法是什么?
- html - 如何在点击外部时关闭侧边栏菜单?
- python - 将 DataFrame 值转换为 int,添加它们并使用结果创建新列?
- angularjs - 从 IONIC 到 BHIM 的 UPI 深度链接 - Ionic1 (WebIntent)
- cross-browser - 哪些浏览器支持 stale-if-error 和 stale-while-revalidate?
- tensorflow - 如何在没有附带ckpt文件的情况下在tensorflow中初始化pb文件的变量?
- node.js - 如何在 Nodejs MongoDb 中进行连接连接池
- python - 为什么将列表分配给另一个列表会产生“无”?