#python #string #variables
#python #строка #переменные
Вопрос:
Я здесь тупой?
Я хотел бы знать, вызван ли у меня список cons=['gps-ops', 'beidou']
, и в моем коде есть разные имена для одного и того же. т.е.: 'gps-ops' = 'GPS'
и 'beidou'='BDS'
.
Некоторые части кода (класса) принимают ‘gps-ops’, а некоторые части принимают ‘GPS’. На данный момент я использую if
elif
операторы and в разных разделах кода.
Есть ли способ сказать, что «gps-ops» также является «GPS» и наоборот, в зависимости от того, как пользователь вводит строку по всему коду?
Комментарии:
1.
'gps-ops'
и'GPS'
являются двумя разными строками. таким==
образом, оператор сравнения завершится ошибкой. Вам нужно добавитьor
проверку в свои операторы if,if (var == 'gps-ops') or (var == 'GPS')
чтобы достичь того, чего вы хотите.
Ответ №1:
Вы могли бы поместить каждое слово для каждого допустимого имени в набор like {'gps-ops', 'GPS'}
, а затем просмотреть свой список в цикле for и проверить, есть ли это слово в наборе:
gps_set = {'gps-ops', 'GPS'}
for name in cons:
if name in gps_set:
# do somehthing if true
Прочитайте документы python для наборов, они представляют собой довольно удивительную структуру данных