2013-02-11 4 views
0
  1. Каково определение эквивалентности кортежа в python?
  2. Если два кортежа имеют один и тот же элемент независимо от порядка, являются ли они эквивалентными кортежами?

Я просмотрел документацию на python по эквивалентности кортежей, однако это было не очень четкое описание. http://docs.python.org/2/tutorial/datastructures.htmlTuple Equivalence в python

+5

Почему бы не попробовать и не посмотреть? 'print (1,2) == (2,1)' :-) – mgilson

+0

Очевидно, что '(True, sum ([])) == (0 ** 0, False)' – wim

ответ

9

Такие вещи определены в language reference, а не в учебнике.

Кортежи и списки сопоставляются лексикографически, используя сравнение соответствующих элементов. Это означает, что для сравнения равны каждый элемент должен сравнивать одинаковые и две последовательности должны быть одного типа, а имеют одинаковую длину.

+0

Что отсутствует, так это то, что последовательности должны быть в одном порядке. '(3,2,1) == (1,2,3)' is False – dawg

+0

@drewk Только потому, что '3! = 1' и' 1! = 3'. – wRAR

+0

Спасибо, ты был полезным. – bind

5

Два кортежа равны, если элементы в кортежах, выполненные по порядку, равны.