好的,这就是我的情景:
rascal>map[int, list[int]] g = ();
rascal>g += (1:[2]);
这将导致:
rascal>g[1];
list[int]: [2]
到目前为止一切顺利,但现在我想这样做,但它不起作用:
rascal>g[1] += 3;
|stdin:///|(2,1,<1,2>,<1,3>): insert into collection not supported on value and int
所以我不能直接使用g [1]中的值,并且必须使用这样的临时变量:
rascal>lst = g[1];
rascal>lst += 3;
rascal>g[1] = lst;
map[int, list[int]]: (1:[2,3])
但每次我想扩大我的名单时这样做都是拖累! 我做错了什么或者这是一个很棒的功能?
理查德
答案 0 :(得分:1)
好问题!列表上的+是连接而不是插入,因此您可以键入以下内容以获得所需的效果:
g[1] += [2];