Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 16, 2018 05:05:51

Stan_Jones
Зарегистрирован: 2018-06-10
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Как выполняется операция сравнения в Python?

Отрывок из книги:
“В действительности, при сравнивании вложенных объектов интерпретатор Python всегда автоматически выполняет обход структуры данных, чтобы применить операции сравнения рекурсивно, слева направо и на столько глубоко, насколько это необходимо.”

Т.е:

 L1 = [1, ('a', 3)]
L2 = [1, ('a', 3)]
L1 == L2
Будет выполняться сравнение каждого элемента списка? Т.е так 1 == 1, ‘a’ == ‘a’, 3 == 3.

Отредактировано Stan_Jones (Июнь 16, 2018 05:07:41)

Офлайн

#2 Июль 2, 2018 19:21:01

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2627
Репутация: +  61  -
Профиль   Отправить e-mail  

Как выполняется операция сравнения в Python?

если списки однородные то да
у вас же

 Lx = [Integer, Tuple]



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Отредактировано ZerG (Июль 2, 2018 19:21:32)

Офлайн

#3 Июль 3, 2018 11:15:48

DamMercul
Зарегистрирован: 2017-11-26
Сообщения: 325
Репутация: +  13  -
Профиль   Отправить e-mail  

Как выполняется операция сравнения в Python?

В книге все правильно говорится. Даже если в котреже будет еще один кортеж все равно питон будет сравнивать все значения, даже внутри 2-ого кортежа.

 list1 = [12, 133, 3, ("abvgd", (3, 4), 3), "testing"]
list2 = [12, 133, 3, ("abvgd", (3, 4), 3), "testing"]
list3 = [12, 133, 3, ("abvgd", (3, 5), 3), "testing"] 
print(list1 == list2)  # True
print(list1 == list3)  # False



____________________________________________________

 # Life loop
while alive:
    if (fun > boredom) and money:
        pass_day(fun, boredom, money)
        continue
    else: break

Офлайн

#4 Июль 3, 2018 18:38:56

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2627
Репутация: +  61  -
Профиль   Отправить e-mail  

Как выполняется операция сравнения в Python?

А так?

 list1 = [12, 133, 3, ("abvgd", (3, 4), 3), "testing"]
list2 = [12, 133, 3, ("abvgd", 3, 4, 3, "testing"]
Я вот сильно не уверен что ТС будет сравнивать исключительно равные списки хотябы и по кол-ву членов.



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version