我的清单是这样的:
[('void ', 'treeInit', 'tSymbolTree *T'),('tTreeItemPtr ', 'nodeInsert', 'tTreeItemPtr *T')]
如果我打电话:
>>>list[0][0]
void
现在问题是我使用re.sub返回strign。 如果我打电话
>>>list[0][0] = re.sub('(\s+$),'',newItem)
TypeError: 'tuple' object does not support item assignment
有人能帮助我吗?感谢
答案 0 :(得分:2)
tuples
是不可变对象,您无法为它们赋值。您应该将元组列表转换为列表列表。它想要如下:
[['void ', 'treeInit', 'tSymbolTree *T'], ['tTreeItemPtr ', 'nodeInsert', 'tTreeItemPtr *T]]
要将元组列表转换为字符串列表,您可以执行以下操作:
>>> a = [('void ', 'treeInit', 'tSymbolTree *T'),('tTreeItemPtr ', 'nodeInsert', 'tTreeItemPtr *T')]
>>> b = [list(i) for i in a] #or map(list, a)
>>> print b
[['void ', 'treeInit', 'tSymbolTree *T'], ['tTreeItemPtr ', 'nodeInsert', 'tTreeItemPtr *T]]