Ant*_*yrd -1 python list-comprehension
我正在尝试创建一个理解,它将列表中的每个值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}}
Run Code Online (Sandbox Code Playgroud)
大括号 -{}创建一组传递给它的元素.要创建列表,您需要使用括号 -[]
[range(x) for x in [1,2,4]]
Run Code Online (Sandbox Code Playgroud)
要获得所需的输出,您需要range()稍微改变一下.range(2)会给你[0, 1]而不是[1, 2].
您可以使用:
>>> [range(1, x+1) for x in [1, 2, 4]]
[[1], [1, 2], [1, 2, 3, 4]]
Run Code Online (Sandbox Code Playgroud)