65

私は (669256.02, 6117662.09, 669258.61, 6117664.39, 669258.05, 6117665.08) のようなセットを持っています。

    for x,y in (669256.02, 6117662.09, 669258.61, 6117664.39, 669258.05, 6117665.08)
        print (x,y)

どちらが印刷されますか

    669256.02 6117662.09
    669258.61 6117664.39
    669258.05 6117665.08

Python 3.3のim

4

3 に答える 3

107

イテレータを使用できます:

>>> lis = (669256.02, 6117662.09, 669258.61, 6117664.39, 669258.05, 6117665.08)
>>> it = iter(lis)
>>> for x in it:
...     print (x, next(it))
...     
669256.02 6117662.09
669258.61 6117664.39
669258.05 6117665.08
于 2013-05-28T10:32:14.637 に答える
13

レシピ セクションのgrouper例は、itertoolsここで役立ちます: http://docs.python.org/library/itertools.html#itertools-recipes

from itertools import zip_longest
def grouper(iterable, n, fillvalue=None):
    "Collect data into fixed-length chunks or blocks"
    # grouper('ABCDEFG', 3, 'x') --> ABC DEF Gxx"
    args = [iter(iterable)] * n
    return zip_longest(*args, fillvalue=fillvalue)

次に、次のように使用します。

for x, y in grouper(my_set, 2, 0.0):  # Use 0.0 to pad with a float
    print(x, y)
于 2013-05-28T10:34:46.497 に答える