Почему следующие кортежи имеют разные хэши - PullRequest
0 голосов
/ 31 января 2019

У меня есть 2 различных метода. Func1 return hash (tuples) main return hash (t)

, но хеш-код отличается, в то время как кортежи идентичны. Код ниже:

def func1(n):
    list11 = []
    [list11.append(input('Enter a value: ')) for i in range(0,n)]
    t = tuple(list11)
    print(hash(t))

if __name__ == "__main__":

    n = int(input())
    integer_list = map(int, input().split())
    t = tuple(integer_list)
    print(hash(t))
    func1(2)

1 Ответ

0 голосов
/ 31 января 2019

Безотносительно к качеству кода, проблема в том, что вы забыли привести input() к int в функции, но вы сделали это для кортежа в __main__, поэтому они не совпадаюткортеж.

[list11.append(int(input('Enter a value: '))) for i in range(0,n)]
...