Назад к вопросам
JuniorТеорияЧасто
Что выведет программа?
import json
data = {"id": 1, "tags": ("a", "b")}
back = json.loads(json.dumps(data))
print(back["tags"], back == data)['a', 'b'] False
- Ждать
('a', 'b') True, будто JSON хранит типы Python: в JSON есть только массивы, поэтомуdumpsпишет кортеж массивом, аloadsчитает его как список. - Ждать
True, раз значения выглядят одинаково: список никогда не равен кортежу,['a', 'b'] == ('a', 'b')— этоFalse, поэтому словари различаются.
- Что станет с ключом-
int, например{1: "x"}, после того же пути туда и обратно? - Что сделает
json.dumps({"tags": {"a"}})с множеством?