Есть ли какой-либо умный способ написать представление списка более чем в одном списке?
Я знаю, что я мог бы использовать отдельный список диапазонов в качестве индекса, но таким образом я должен знать длину (или получить ее отдельно с вызовом функции len()
).
>>> a = range(10)
>>> b = range(10, 0, -1)
>>> [(a[x],b[x]) for x in range(10)]
[(0, 10), (1, 9), (2, 8), (3, 7), (4, 6), (5, 5), (6, 4), (7, 3), (8, 2), (9, 1)]
Мне бы хотелось иметь что-то вроде этого:
>>> [(a,b) for a in range(10) and b in range(10, 0, -1)]
[(0, 10), (1, 9), (2, 8), (3, 7), (4, 6), (5, 5), (6, 4), (7, 3), (8, 2), (9, 1)]
Как бы вы писали понимание списка? Есть ли способ сделать это с помощью itertools?
Список диапазонов просто подходит для любого списка, и я не обязательно хочу получить кортеж. также может быть функция, которая принимает a и b как параметры. Так что zip не то, что я хочу.
UPDATE: "Так что почтовый индекс не тот, который я хочу". Я имел в виду, что я не хочу zip(range(10), range(10, 0, -1))