【问题标题】:Access Element in Paginated Dictionary. Dictionary within a list. Python 3.6分页字典中的访问元素。列表中的字典。蟒蛇 3.6
【发布时间】:2018-02-23 12:27:17
【问题描述】:

我正在尝试访问和缓存(设置)分页字典中的值元素。我希望每个新的分页字典都能做到这一点。有一种方法可以使用“before”和“after”参数浏览字典,但我认为这可能是一个不必要的花絮。

当我这样做时:

[{x:1,y:2}]
pag_dict = foo.get_dict()
xvalue = bar.set(pag_dict["x"])
print(xvalue)

对于 xvalue = bar.set(pag_dict["x"]) 的行,我得到“TypeError:列表索引必须是整数或切片,而不是 str”。我只需要它通过访问 x 打印出 1。

我尝试解决此问题的每一种方式都会遇到问题。帮助将不胜感激。 谢谢!

【问题讨论】:

  • 你的问题我不清楚,你的意思是你的page_dict = [{x:1,y:2}] 吗?
  • 是的,基本上。我放 foo.get_dict() 是因为我正在从 API 访问分页字典。

标签: arrays python-3.x list dictionary pagination


【解决方案1】:

基于评论中的讨论:

pag_dict = [[{'x': 1, 'y': 2}]]

上面显示pag_dictlistlist 有1 个元素。该元素是 Python 的dict 类型,是一个键值对。

要获取键 x 的值,试试这个:

# this gives "1"
pag_dict[0][0]['x']

【讨论】:

  • 我仍然得到相同的“TypeError:列表索引必须是整数或切片,而不是 str”
  • 你确定是这种情况 => pag_dict = [{'x': 1, 'y': 2}] 吗?如果这是真的,那么pag_dict[0]['x'] 将提供1。否则,您需要检查 pag_dict 包含的内容或在此处发布更多代码。
  • 我刚刚再次查看了从 API 返回的响应,它实际上是另一个列表中的列表中的字典。这对我来说没有任何意义。它是 [[{}]]。这可能与它有关。
  • 如果是这样,那么它必须是这样的:pag_dict[0][0]['x'] ,其中 0 是列表元素索引。
  • 我根据讨论更新了我的答案。如果它对您有任何帮助,介意将其标记为答案吗?谢谢。
猜你喜欢
  • 2023-04-06
  • 2021-07-27
  • 1970-01-01
  • 2019-02-13
  • 1970-01-01
  • 2022-10-04
  • 2022-06-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多