0

私はこれを理解しようとしています:

a = "hello"
b = "world"
[chr(ord(x) ^ ord(y)) for (x, y) in zip(a[:len(b)], b)]

その部分は理解してXORいますが、zipが何をしているのかわかりません。

4

2 に答える 2

3

zipと の各文字を結合abます。

a = "hello"
b = "world"
print zip(a, b)
>>>
    [('h', 'w'), ('e', 'o'), ('l', 'r'), ('l', 'l'), ('o', 'd')]
于 2012-11-06T06:21:59.087 に答える
2

zipに対して異常なことは何もしていません。

のリストのスライスは、この動作を前提としているaためやり過ぎです。zip

ドキュメントに記載されているように:

この関数は、タプルのリストを返します。i 番目のタプルには、各引数シーケンスまたは iterable の i 番目の要素が含まれます。

于 2012-11-06T06:21:38.510 に答える