Python:这个列表理解中zip是做什么的

时间:2012-11-06 06:19:05

标签: python list-comprehension

我试图理解这一点:

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

我理解XOR部分,但我不知道zip正在做什么。

2 个答案:

答案 0 :(得分:3)

zipab的每个字母组合在一起。

a = "hello"
b = "world"
print zip(a, b)
>>>
    [('h', 'w'), ('e', 'o'), ('l', 'r'), ('l', 'l'), ('o', 'd')]

答案 1 :(得分:2)

zip没有做任何与众不同的事。

由于a假设此行为,因此zip的列表切片过度。

正如文档中所述:

  
    
      

此函数返回元组列表,其中第i个元组包含每个参数序列或可迭代的第i个元素。