Преобразование списков

Я ищу способ конвертировать список, подобный этому

[[1.1, 1.2, 1.3, 1.4, 1.5], [2.1, 2.2, 2.3, 2.4, 2.5], [3.1, 3.2, 3.3, 3.4, 3.5], [4.1, 4.2, 4.3, 4.4, 4.5], [5.1, 5.2, 5.3, 5.4, 5.5]] 

к чему-то подобному

 [[(1.1,1.2),(1.2,1.3),(1.3,1.4),(1.4,1.5)], [(2.1,2.2),(2.2,2.3),(2.3,2.4),(2.4,2.5)] ......................................... 

4 Solutions collect form web for “Преобразование списков”

В ответ на дальнейшие комментарии респондента два ответа:

 # Original grid grid = [[1.1, 1.2, 1.3, 1.4, 1.5], [2.1, 2.2, 2.3, 2.4, 2.5], [3.1, 3.2, 3.3, 3.4, 3.5], [4.1, 4.2, 4.3, 4.4, 4.5], [5.1, 5.2, 5.3, 5.4, 5.5]] # Window function to return sequence of pairs. def window(row): return [(row[i], row[i + 1]) for i in range(len(row) - 1)] 

ОРИГИНАЛЬНЫЙ ВОПРОС:

 # Print sequences of pairs for grid print [window(y) for y in grid] 

ОБНОВЛЕНО ВОПРОС:

 # Take the nth item from every row to get that column. def column(grid, columnNumber): return [row[columnNumber] for row in grid] # Transpose grid to turn it into columns. def transpose(grid): # Assume all rows are the same length. numColumns = len(grid[0]) return [column(grid, columnI) for columnI in range(numColumns)] # Return windowed pairs for transposed matrix. print [window(y) for y in transpose(grid)] 

Следующая строка должна сделать это:

 [list(zip(row, row[1:])) for row in m] 

где m – ваш начальный двумерный список

ОБНОВЛЕНИЕ для второго вопроса в комментарии

Вы должны перенести (= обмен столбцами с строками) ваш двумерный список. Путь python для достижения транспонирования m равен zip(*m) :

 [list(zip(column, column[1:])) for column in zip(*m)] 

Другая версия – использовать lambda и map

 map(lambda x: zip(x,x[1:]),m) 

где m – ваша матрица выбора.

Учет списков обеспечивает краткое создание списков: http://docs.python.org/tutorial/datastructures.html#list-comprehensions

 [[(a[i],a[i+1]) for i in xrange(len(a)-1)] for a in A] 
  • Как создать собственный класс списка в python?
  • Как удалить повторяющиеся значения в списке?
  • Копирование содержимого файла в многомерный список в Python
  • Создание списка из списка списков в Python
  • Python находит первый экземпляр ненулевого числа в списке
  • Получение первого значения None из списка
  • Листинг слов случайным образом, не повторяя их
  • Два отдельных списков python, действующих как один
  • Проверить, является ли объект списком списка в python?
  • Итерации по парам в списке (круговой) в Python
  • Проверьте, находится ли элемент во вложенном списке
  •  
    Interesting Posts for Van-Lav
    Python - лучший язык программирования в мире.