首页 > 解决方案 > Python:如何获取列表内字典内的 id 字段

问题描述

我想获得满足条件的 dict 的 ID(如果当天在任何时间表上)

arr = [
  {
    "schedule": "Mon - Wed - Fri",
    "id": 1
  },
  {
    "schedule": "Mon - Tue - Wed - Thu - Fri",
    "id": 2
  },
  {
    "schedule": "Fri - Sat - Sun",
    "id": 3
  },
  {
    "schedule": "Mon - Wed - Fri - Sat",
    "id": 4
  },
  {
    "schedule": "Sat - Sun - Mon - Tue",
    "id": 5
  }
]

我试过了:

day = "Wed"

for listArr in arr:
    array = listArr.values()
    str1 = " - ".join(array)
    strArr = str1.split(" - ")

    if any(day in i for i in strArr):
        print(strArr)

我越来越:

TypeError: sequence item 1: expected string, int found

我想要的是:

[1, 2, 4]

我试图将 int 转换为 str 但它返回 null 或空白.. 有什么帮助吗?

标签: pythonlistdictionary

解决方案


day = "Wed"
print([l['id'] for l in arr if day in l['schedule']])

推荐阅读