Если X или Y или Z, тогда используйте * этот * один?

Есть ли способ написать If (или эквивалентный) оператор, который может иметь много аргументов, и если какой-либо из них удовлетворяет логике, использовать переменную ?

Для instance

if len(x) == 1 or len(y) == 1 or len(z) == 1 or ... len(zz) == 1:
    # do something with the variable that met the condition

Так, скажем, только z имеет длину 1, могу ли я написать приведенную выше идею / формулу таким образом, чтобы взять первый ответ True и использовать это?

Так что-то вроде

x = "123"
y = "234"
z = "2"
xx = "1234"
yy = "12345"

if len(x) == 1 or len(y) == 1 or len(z) == 1 or len(xx) == 1 or len(yy) == 1:
    #do something with the variable that satisfies the condition, so `z` in this case.

Имеет ли это какой-то смысл? Длина переменных может изменяться в любое время, поэтому я хотел бы иметь возможность сказать «Если какое-либо из условий выполнено, используйте переменную, которая удовлетворяет условию» ...?

В приведенном выше примере Я не знаю заранее, что z будет единственным, чтобы соответствовать критериям, поэтому мое утверждение Then не может быть z = "new value" или что-то еще, что я хочу с ним сделать.

Редактировать: Извините, по комментариям, я знаю, проверка на len целых чисел не в порядке. Это исключительно для иллюстрации, и это было первое, что я подумал о «тестировании». Извините, если бит len сбивает с толку. В основном я просто пытаюсь понять, могу ли я использовать If операторы (или связанные), где я не знаю, какая из моих многочисленных переменных будет соответствовать условию. (Я все еще новичок в отношении python, поэтому я искренне извиняюсь за отсутствие семантики или правильных терминов). Я хотел бы избежать elif, если это вообще возможно, только потому, что это может стать жестким. (Но если это самый питонический способ, пусть будет так!)

8
задан BruceWayne 10 August 2018 в 19:34
поделиться