Как я могу ввести список списков, чтобы сделать матрицу и изменить столбцы с помощью функции карты - PullRequest
0 голосов
/ 31 декабря 2018

Не могу получить список списков.Я получаю эту ошибку:

TypeError                                 Traceback (most recent call last)
<ipython-input-4-8c5f7927bb96> in <module>
      9         print(liste)
     10 
---> 11 list(map(change, liste ))
     12 
     13 

<ipython-input-4-8c5f7927bb96> in change(liste)
      5 def change(liste):
      6         temp = liste[0]
----> 7         liste[0] = liste[-1]
      8         liste[-1] = temp
      9         print(liste)

TypeError: 'str' object does not support item assignment  

Я попытался составить список списков вручную, я написал это-> liste = [[1,2,3,4], [2,3,4,5],[6,7,8,9]] и это сработало, но мне нужно получить это в качестве входных данных.Вот мой код Python:

liste = input(" mat= ")

def change(liste):
        temp = liste[0]  
        liste[0] = liste[-1]
        liste[-1] = temp
        print(liste)

list(map(change, liste ))  

1 Ответ

0 голосов
/ 31 декабря 2018

Используйте `

import ast
liste = ast.literal_eval(input(" mat= "))`

Поскольку ваша ошибка уведомляет вас о, liste - это str.Каждый input на самом деле является строкой.Используя ast.literal_eval, он оценивает его и становится списком списков.

...