функция is_array от php до Python - PullRequest
0 голосов
/ 06 мая 2020

Я переношу код php в Python и наткнулся на функцию is_array, с переводом которой возникают проблемы. Вот код php:

function is_assoc($var)
{
  return is_array($var) && array_diff_key($var, array_keys(array_keys($var)));
}

Что было бы эквивалентом функции is_array в Python?

Ответы [ 3 ]

1 голос
/ 06 мая 2020

Вы можете удалить set, если вы используете sh:

is_array = lambda var: isinstance(var, (list, tuple, set))

a = [1,2,3]
b = (1,2,3)
c = {1,2,3}
print(is_array(a))
print(is_array(b))
print(is_array(c))
0 голосов
/ 06 мая 2020

Вы можете использовать метод type для проверки типа объекта:

a = [1,2,3]
type(a) == list
0 голосов
/ 06 мая 2020

В Python нет такого типа данных Array, вы, вероятно, будете использовать вместо него список .

Таким образом, вы можете проверить, есть ли конкретная переменная на самом деле является списком с использованием isinstance():

isinstance(var, list);

Repl.it

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...