【发布时间】:2017-01-15 11:03:03
【问题描述】:
您好,非常感谢您的帮助!
我确信这是一个愚蠢的问题,但我正在尝试将字典值附加到数组中的元素。现在我只能让它将整个元素数组作为一个条目而不是单独的值加载。抱歉,如果我没有很好地解释这一点。这是一个例子:
Array = [4,5,6]
dictionary {'index'} = [1,2,3]
这是我正在做的事情,这是错误的
dictionary['index'].append(array)
这是错误的,因为如果我查询字典 ['index'][1] 中有多少元素,它会返回 1 而不是 3。看这里:
print range(len(dictionary['index'][0]))
答案是 3,即 1 2 和 3。但是!
print range(len(dictionary['index'][1]))
答案是 1,[4,5,6]。我必须错误地加载数组。有谁知道我做错了什么?谢谢!
【问题讨论】:
-
你的例子错了,
dictionary {'index'} = [1,2,3]throws InvalidSyntax -
这个问题不太清楚。你能提供一个工作代码示例吗?看起来第二行应该是
dictionary['index'] = [[1, 2, 3]](注意=之前的方括号而不是大括号以及之后的额外一对方括号)。修复此问题后,您的示例不会显示您声称的行为(尝试一下!),因此您显然正在做其他事情。 -
此外,您的
dictionary['index']的第一个和第二个元素是整数,因此您无法获得它们的长度。也许你想写len(range(dictionary['index'][0]))。 -
我的猜测是您在将列表
Array(这是一个列表,而不是数组)附加到字典值之后对其进行了修改。追加时不会复制,因此以后对Array的修改会影响dict中的值。
标签: python arrays dictionary append