Если нет заявления

#python #if-statement

#python #если-оператор

Вопрос:

Я пытаюсь написать оператор if, который не добавляет ‘id’ ‘1062066’, но он не работает

Мой код:

 if not event['id'] in ['1062066']
  

JSON:

 "id":1062066,
"number":9,
"name":"COASTAL MIDWEST TRANSPORT HANDICAP",
"startsAt":"2020-10-03T09:25:00 00:00",
"url":"https://www.odds.com.au/horse-racing/kalgoorlie/race-9/?date=2020-10-03",
"isAbandoned":false,
"resulted":false,
"results":null,
"meetingId":184543,
"regionIconUrl":"https://puntcdn.com/flags/@2x/AU@2x.png",
"regionName":"Australia"
  

Комментарии:

1. Более поздний контейнер вашего if else содержит str , тогда event["id"] как является int . Попробуйте преобразовать LHS как str ( str(event["id"]) )

Ответ №1:

Ответ id in JSON имеет тип int . Вам нужно будет преобразовать идентификатор str в, чтобы проверить.

 if not str(event['id']) in ['1062066']
  

Комментарии:

1. Зачем использовать str вместо int? if event['id'] not in [1062066]

2. Из вашего вопроса, если оператор проверяет id тип int по списку id's типов str . Из ответа JSON это выглядит как id тип int . Так что либо создайте список id's типов int , либо измените тип id to str . Любой решит проблему.

Ответ №2:

попробуйте это if not str(event['id']) == str(1062066):