我是 Python 的新手。在初始化列表时mylist = list()mylist[0]="hello"给出错误。它只有效mylist.append("hello")但如果我用字典做同样的事情mydict ={}mydict["one"]="hello"有用。为什么我不需要做mydict['one'].append('hello')为什么不同结构的东西是不同的。
2 回答
达令说
TA贡献1821条经验 获得超6个赞
如果您更新这样的字典:
d['c'] = 3
......该字典中不需要d['a']
和d['b']
(或任何项目,就此而言)。字典项的键并不暗示 dict 对象的任何特定结构属性。
但是,如果您想更新这样的列表:
l[5] = 'a'
...索引 0 到 5 绝对必须存在。索引不仅用作列表中元素的句柄,而且还具有结构属性。如果l[5]
确实存在,您可以绝对确定索引 0 到 4 也是如此。而你需要那种确定性。
想象一下,你可以l[5] = 'a'
在一个空列表上做。会len(l)
返回什么?1?6?这两种情况都会导致失败:
for i in range(len(l)): print(l[i])
有人可能会争辩说,如果 index-1 已经存在,或者如果列表为空且所需的索引为 0 ,则l[<index>] = 'a'
可以隐式附加该值。 为了使其可靠地工作,您需要在添加值之前确保index-1 存在,例如这一点,而在使用 append() 时,您可以保证您的值将添加到列表中(除了潜在的边缘情况,如内存不足)。
汪汪一只猫
TA贡献1898条经验 获得超8个赞
如果您将元素添加到字典中,您将连接到一个键。在您的情况下,您将元素连接'hello'
到您的密钥'one'
要将元素添加到列表中,您必须使用该函数list.append
。您list[x]
用来获取位置 x 处的元素。
添加回答
举报
0/150
提交
取消