猿问

Python:初始化列表和字典

我是 Python 的新手。在初始化列表时


mylist = list()

mylist[0]="hello"

给出错误。它只有效


mylist.append("hello")

但如果我用字典做同样的事情


mydict ={}

mydict["one"]="hello"

有用。为什么我不需要做


mydict['one'].append('hello')

为什么不同结构的东西是不同的。


潇潇雨雨
浏览 258回答 2
2回答

达令说

如果您更新这样的字典:d['c']&nbsp;=&nbsp;3......该字典中不需要d['a']和d['b'](或任何项目,就此而言)。字典项的键并不暗示 dict 对象的任何特定结构属性。但是,如果您想更新这样的列表:l[5]&nbsp;=&nbsp;'a'...索引 0 到 5 绝对必须存在。索引不仅用作列表中元素的句柄,而且还具有结构属性。如果l[5]确实存在,您可以绝对确定索引 0 到 4 也是如此。而你需要那种确定性。想象一下,你可以l[5] = 'a'在一个空列表上做。会len(l)返回什么?1?6?这两种情况都会导致失败:for&nbsp;i&nbsp;in&nbsp;range(len(l)): &nbsp;&nbsp;&nbsp;&nbsp;print(l[i])有人可能会争辩说,如果 index-1 已经存在,或者如果列表为空且所需的索引为 0&nbsp;,则l[<index>] = 'a'&nbsp;可以隐式附加该值。 为了使其可靠地工作,您需要在添加值之前确保index-1 存在,例如这一点,而在使用 append() 时,您可以保证您的值将添加到列表中(除了潜在的边缘情况,如内存不足)。

汪汪一只猫

如果您将元素添加到字典中,您将连接到一个键。在您的情况下,您将元素连接'hello'到您的密钥'one'要将元素添加到列表中,您必须使用该函数list.append。您list[x]用来获取位置 x 处的元素。
随时随地看视频慕课网APP

相关分类

Python
我要回答