为了账号安全,请及时绑定邮箱和手机立即绑定

Python:初始化列表和字典

Python:初始化列表和字典

潇潇雨雨 2021-05-30 21:54:47
我是 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() 时,您可以保证您的值将添加到列表中(除了潜在的边缘情况,如内存不足)。


查看完整回答
反对 回复 2021-06-09
?
汪汪一只猫

TA贡献1898条经验 获得超8个赞

如果您将元素添加到字典中,您将连接到一个键。在您的情况下,您将元素连接'hello'到您的密钥'one'

要将元素添加到列表中,您必须使用该函数list.append。您list[x]用来获取位置 x 处的元素。


查看完整回答
反对 回复 2021-06-09
  • 2 回答
  • 0 关注
  • 254 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信