迭代器

作者: 我是奋斗seu | 来源:发表于2017-02-23 22:52 被阅读0次

    有一个偶数项的列表 a = ["foo", 2, "bar", 4, "far", 6],希望对每两个相邻的两个元素打包,是为一组, 使得结果如下是这样的 [("foo", 2), ("bar", 4), ("far", 6)]。如果是要打包是每三个一组呢?

    有很多方法可以解决,下面使用迭代器进行处理,大概代码如下:

    a = ["foo", 2, "bar", 4, "far", 6]

    group_adjacent = lambda x, k: zip(*([iter(x)] * k))

    In [1]: a = ["foo", 2, "bar", 4, "far", 6]

    In [2]: group_adjacent = lambda x, k: zip(*([iter(x)] * k))

    In [3]: group_adjacent(a, 2)

    Out[3]: [('foo', 2), ('bar', 4), ('far', 6)]

    相关文章

      网友评论

          本文标题:迭代器

          本文链接:https://www.haomeiwen.com/subject/mfliwttx.html