-1
我試圖創建一個理解,它將列表中的每個值都取爲n,並返回1-n中的值。 I.E.對於[1,2,4]
的回報應該是[[1],[1,2],[1,2,3,4]]
。 我的代碼得到這個unhashable type list
錯誤。Python - TypeError:不可能的類型列表錯誤
{range(x) for x in {1,2,4}}
我試圖創建一個理解,它將列表中的每個值都取爲n,並返回1-n中的值。 I.E.對於[1,2,4]
的回報應該是[[1],[1,2],[1,2,3,4]]
。 我的代碼得到這個unhashable type list
錯誤。Python - TypeError:不可能的類型列表錯誤
{range(x) for x in {1,2,4}}
括號 - {}
創建一組您傳遞給它的元素。要創建一個列表,你需要使用括號 - []
[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]]
感謝這就是我一直在尋找 –
@AntarrByrd。不客氣:) –
大括號創建字典 – Brian