代码之家  ›  专栏  ›  技术社区  ›  Nikko

为Python提供类似于iterable-zip的单个元素的方法

  •  1
  • Nikko  · 技术社区  · 6 年前

    嗨,伙计们,我只是想知道是否有一种方法可以迭代一个行为类似zip的元组。

    zipper = zip(['aye', 'bee'], ['ex', 'why'])
    for x, y in zipper:
        print(x, y)
    aye ex
    bee why
    
    tupl = 3, 2
    for x, y in tupl:
        print(x, y)
    # 'int' object is not iterable.
    

    我现在知道的是它不能拉拉链:

    tupl = zip(3, 2)
    # zip argument #1 must support iteration
    

    我正在尝试将zipper传递到一个函数中,我也希望传递元组或单个集的zip。

    def processthis(zipper):
        for x, y in zipper:
            # do something with x and y
    
    2 回复  |  直到 6 年前
        1
  •  3
  •   blhsing    6 年前

    for x, y in tupl: 你在期待 tupl 是元组序列,而不是元组。

    如果希望循环只处理一个元组,则应该指定 具有 [(3, 2)] 而不是 (3, 2) .

        2
  •  0
  •   imjp94    6 年前

    当经过一个 tuple 为了发挥作用,它需要用括号括起来。

    就你而言,

    zip((3, 2), (4, 5))  # zipping 2 tuples