我正在使用Python编写一些密码算法,但我以前从未使用过Python。
首先,看看这段代码,然后我会解释问题:
x = bytearray(salt[16:])
y = bytearray(sha_512[32:48])
c = [ i ^ j for i, j in zip( x, y ) ]
x和y的值为,
bytearray(b'AB\xc8s\x0eYzr2n\xe7\x06\x93\x07\xe2;')
bytearray(b'+q\xd4oR\x94q\xf7\x81vN\xfcz/\xa5\x8b')
我不理解代码的第三行。为了理解第三行,我不得不查看zip()
函数,
在这个问题中,我遇到了这个问题,
根据这个问题的回答,
zip((1,2,3),(10,20,30),(100,200,300))
将输出:
[(1, 10, 100), (2, 20, 200), (3, 30, 300)]
但是当我尝试打印它时,
print(zip((1,2,3),(10,20,30),(100,200,300)))
我看到的输出如下:
我正在获取此输出,
<zip object at 0x0000000001C86108>
为什么我的输出结果与原始输出结果不同?
repr
表达式。 - Ashwini Chaudharymap
现在也返回一个迭代器,xrange()
被重命名为range()
,而 py2.x 的range()
不再可用。 - Ashwini Chaudhary