Python:初始化列表和字典

时间:2018-09-03 08:24:28

标签: python

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

mylist = list()
mylist[0]="hello"

给出错误。仅适用于

mylist.append("hello")

但是如果我对字典也一样

mydict ={}
mydict["one"]="hello"

有效。 为什么我不需要做

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

为什么不同的结构会有所不同。

2 个答案:

答案 0 :(得分:1)

如果您更新像这样的字典:

d['c'] = 3

......无需在该字典中出现d['a']d['b'](或与此相关的任何项目)。词典项目的键并不意味着您的字典对象具有任何特定的结构特性。

但是,如果要更新这样的列表:

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])

有人可以说l[<index>] = 'a' 可以如果index-1已经存在或者列表为空且所需的索引为0,则可以隐式附加该值。 ,您需要确保在添加这样的值之前必须先确保index-1存在,而使用append()时,可以确保将您的值添加到列表中(潜在的边缘情况除外)像是内存不足)。

答案 1 :(得分:0)

如果将元素添加到字典中,则会连接到键。 在您的情况下,您可以将元素const payload = { device_id: 'ASDACCAS', device_type: 'Web', device_version: '1.2', device_user_id: 'ASDBADKKK1234AS' } axios({ method: 'post', url: 'https://stageapi.myapi.com/v3_2/user/splash', data: payload, headers: { 'secret-key': 'mysecretkey', 'Content-Type': 'application/json' }, }) 连接到键'hello'

要将元素添加到列表中,必须使用功能'one'。 您使用list.append将元素移到x位置。