Python:通过键获取字典中的值并用它们创建数组

标签 python arrays dictionary

我有一本这样的字典:

{
  "0": {}, 
  "1": {}, 
  "2": {}, 
  "3": {}, 
  "4": {}, 
  "5": {}, 
  "6": {}, 
  "7": {}, 
  "8": {}, 
  "9": {}, 
  "10": {}, 
  "11": {}, 
  "12": {
    "PNR": "51313542"
  }, 
  "13": {}, 
  "14": {}, 
  "15": {
    "PNR": "13151351351"
  }, 
  "16": {
    "PNR": "13151351351"
  }, 
  "17": {
    "PNR": "13151351351"
  }, 
  "18": {
    "PNR": "13151351351"
  }, 
  "19": {
    "PNR": "13151351351"
  }, 
  "20": {
    "PNR": "13151351351"
  }, 
  "21": {
    "PNR": "13151351351"
  }, 
  "22": {
    "PNR": "13151351351"
  }, 
  "23": {
    "PNR": "13151351351"
  }, 
  "24": {
    "PNR": "13151351351"
  }
}

我只想获取 PNR 并用它们创建一个数组。

我尝试通过此方法获取 PNR 值(将“输出”视为我的字典):

d_ = output.get("PNR")

但它没有给出任何结果。

无论我的字典中有多少个元素,如何获取 PNR 值并用它们创建一个数组?

最佳答案

您可以使用列表理解:

[v["PNR"] for v in dic.values() if "PNR" in v.keys()]

输出:

['51313542', '13151351351', '13151351351', '13151351351', '13151351351', '13151351351', '13151351351', '13151351351', '13151351351', '13151351351', '13151351351']

关于Python:通过键获取字典中的值并用它们创建数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69980673/

相关文章:

javascript - html5 mustache获取文章索引并比较值

C#: IEnumerable, GetEnumerator, 请举个简单的例子!

python - 使用 Web3 和 Python 计算 BSC 代币的价格

python - 如果满足 lambda 条件,则删除整个列表

python - Django 消息不会过期

arrays - 如何快速检查一个值在嵌套字典中

php - 按索引/键合并数组,保留所有值

python - 如何访问字典中的第一个和最后一个元素?

python - 将两个列表组合成一个字典,元组

python - 将 Pandas 数据帧转换为频率矩阵