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= "))`