Size: a a a

Python beginners

2017 April 21

AK

Artem K in Python beginners
соответственно если это не так, цикл вывалится с AssertionError
источник

AK

Artem K in Python beginners
либо можно сделать if not isinstance(x, y): return False и в конце return True
источник

JW

Johnnie Walker in Python beginners
я это в отдельную ф-ю вынес и передаю туда self из класса теста, так что пойдет и self.assertTrue(...)
источник

JW

Johnnie Walker in Python beginners
спасибо, попробую зип вкорячить, а не по именам сравнивать
источник

JW

Johnnie Walker in Python beginners
только все равно надо как-то сортировать, а валидаторы не умеют в сорт =\
источник

I

Igor in Python beginners
а почему ты вообще сортируешь?
источник

JW

Johnnie Walker in Python beginners
ну мне главное чтобы наборы совпадали
источник

JW

Johnnie Walker in Python beginners
а не их порядок
источник

I

Igor in Python beginners
и объекты не хешируемые?
источник

I

Igor in Python beginners
сет не подходит?
источник

AK

Artem K in Python beginners
ну с наборами как раз поможет counter
источник

JW

Johnnie Walker in Python beginners
Igor
сет не подходит?
в одном списке классы, в другом инстанции, так что нет
источник

JW

Johnnie Walker in Python beginners
Artem K
ну с наборами как раз поможет counter
>>> sorted(collections.Counter(l2))
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
TypeError: '<' not supported between instances of 'type' and 'type'
источник

AK

Artem K in Python beginners
сорри что слишком умно

one = [1, 1.5, 'asd']
two = [str, int, float]
c1 = Counter(type(x) for x in one)
c2 = Counter(two)
assert c2 - c1 == Counter()
источник

I

Igor in Python beginners
жуть какая-то
источник

JW

Johnnie Walker in Python beginners
one, two = ?
источник

JW

Johnnie Walker in Python beginners
но тут ведь в обоих списках уже инстанции :))))
источник

AK

Artem K in Python beginners
а что должно быть?
источник

JW

Johnnie Walker in Python beginners
я мб объяснил херово, но цель такая - в тест пишу какие валидаторы должны быть для каждого поля в виде словаря аля {'first_name': (Length, DataRequired)} потом прохожу по этому словарю, дергаю поле формы через getattr() по его названию и проверяю, что для этого поля прописаны именно те валидаторы, которые я записал в словаре
источник

AK

Artem K in Python beginners
посмотри, я правильно понял?
источник