Создание карты 2D координат в Python

Я не ищу решение, я ищу лучшее решение или просто другой способ сделать это, используя другой вид понимания списка или что-то еще.

Мне нужно создать список кортежей из 2 целых чисел, чтобы получить координаты карты типа [(1, 1), (1, 2), ..., (x, y)]

Итак, у меня есть следующее:

width, height = 10, 5

Решение 1

coordinates = [(x, y) for x in xrange(width) for y in xrange(height)]

Решение 2

coordinates = []
for x in xrange(width):
    for y in xrange(height):
        coordinates.append((x, y))

Решение 3

coordinates = []
x, y = 0, 0
while x < width:
    while y < height:
        coordinates.append((x, y))
        y += 1
    x += 1

Есть ли другие решения? Мне больше всего нравится первое.

12
задан aemdy 31 January 2012 в 16:09
поделиться