如何在Python / Jython中迭代列表(与HashMaps一样)?

时间:2013-11-29 14:27:56

标签: python list loops jython

有没有办法迭代像HashMaps中的python / jython列表?

示例:

list = [effectone, effecttwo, effectthree, effectfour]
if list.hasNext():
#do something

这就是我在哈希映射中的做法:

       it = channelList.entrySet().iterator() #channelList is an hashmap
       if it.hasNext():
            inext = it.next()
            nextkey = inext.getKey() #Also, how do I get current "effect"?
            nextvalue = inext.getValue()

提前致谢!

1 个答案:

答案 0 :(得分:1)

如果您要做的只是使用“数据对”,即:“下一个元素”具有“下一个元素”,那么:

for cur, nxt in pairwise('abc'):
    print cur, 'and', nxt

给你:

a and b
b and c

适应每次迭代时对对象执行的任何操作。

其中pairwise是来自Python itertools documentation的食谱:

def pairwise(iterable):
    "s -> (s0,s1), (s1,s2), (s2, s3), ..."
    a, b = tee(iterable)
    next(b, None)
    return izip(a, b)