Как я могу это упростить?

#python #performance #if-statement

#питон #Производительность #если-заявление

Вопрос:

Я хочу упростить эти «если», каковы варианты? Спасибо.

 user_id = message.from_user.id  user = user_data[user_id]  user.profil = message.text  if not user.profil == '97':  if not user.profil == '82':  if not user.profil == '72':  if not user.profil == '64':  if not user.profil == '45':  if not user.profil == '25':   markup = types.ReplyKeyboardMarkup(one_time_keyboard=True)  markup.add('97', '82', '72', '64', '45', '25')  msg = bot.send_message(message.chat.id, 'אנא בחר פרופיל.', reply_markup=markup)  bot.register_next_step_handler(msg, process_profil_step)  return  

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

1. if user.profil not in ...

2. не могли бы вы, пожалуйста, написать это в коде? на самом деле я не понимаю

3. По крайней мере, вы можете просто написать if user.profil != '97' or user.profil != '82' or ...: .

4. (И никто не пишет if not ... == ... в предпочтении if ... != ... .)

Ответ №1:

С not in тобой это можно сделать:

 unwanteds = {'97', '82', '72', '64', '45', '25'} if user.profil not in unwanteds:  markup = ...  

Таким образом, это проверяет, не входит ли user.profil в набор нежелательных. {} устанавливает его так, чтобы поиск был несколько быстрым.