Python 如何使用映射功能输入列表列表以生成矩阵和更改列

Python 如何使用映射功能输入列表列表以生成矩阵和更改列,python,map-function,Python,Map Function,我无法获取列表列表的输入。我得到这个错误: TypeError Traceback (most recent call last) <ipython-input-4-8c5f7927bb96> in <module> 9 print(liste) 10 ---> 11 list(map(change, liste )) 12 13 <

我无法获取列表列表的输入。我得到这个错误:

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
是一个
str
。每个
输入实际上都是一个字符串。通过使用
ast.literal\u eval
,它将对其进行评估并成为列表列表。

如果没有示例输入和所需输出,在不知道该做什么的情况下很难给出答案。您可以执行以下操作:
import ast;列表(map(change,ast.literal\u eval(liste))
然后有人输入
导入操作系统;删除(…)
您将不会高兴。最好使用
ast.literal\u eval
json.loads
。您当然非常正确。如果你把它写下来作为答案,我会删除我的。这一切都取决于你的用户是谁,在这种情况下我不知道
liste = input(" mat= ")

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

list(map(change, liste ))  
import ast
liste = ast.literal_eval(input(" mat= "))`