-1

我正在尝试创建一个理解,它接受列表中的每个值 n 并返回 1-n 中的值。IE[1,2,4]的返回应该是[[1],[1,2],[1,2,3,4]]. 我的代码出现此unhashable type list错误。

 {range(x) for x in {1,2,4}}
4

1 回答 1

6

大括号 -{}创建一组您传递给它的元素。要创建列表,您需要使用括号 -[]

[range(x) for x in [1,2,4]]

要获得所需的输出,您需要range()稍作改动。range(2)会给你[0, 1]而不是[1, 2].

您可以使用:

>>> [range(1, x+1) for x in [1, 2, 4]]
[[1], [1, 2], [1, 2, 3, 4]]
于 2013-07-03T15:29:42.677 回答