【Python】python中列表内能否套字典?

python中能否将字典当做值赋给列表呢?

我在对代码做了一个简单的演示,但是为什么不行呢?还是说python就不能列表套字典,只能是字典套列表?

>>> a=[]

>>> b=0

>>> a[b]={'key':'vi'}

Traceback (most recent call last):

File "<pyshell#2>", line 1, in <module>

a[b]={'key':'vi'}

IndexError: list assignment index out of range

>>>

回答

这个问题跟列表嵌套无关,正常的赋值也会说你的那个错误。
【Python】python中列表内能否套字典?

正确的做法是用数组的append方法。

【Python】python中列表内能否套字典?

Python知识点:

List数据类型特性:
1、List的每个元素可以Python的任意数据类型(Boolean,Number,String,List,Dict,Set……)
2、List不可以越界访问,依旧是不能访问不存在的List元素

代码分析:

// 创建一个空List,并将该空List的引用赋值给标识符a

a=[]

// 赋值0给标识符b

b=0

// a[b]此时的含义是,访问List a的第0个元素,然而此时List a还是空的,也就是a[0]不存在,这叫越界访问。

// 在Python中,不允许越界访问,此时会抛出错误:IndexError: list assignment index out of range

a[b]={'key':'vi'}

a = []
表示这是一个空列表。不存在任何元素。
python是能把字典赋值给列表元素的。

a.append({'key':'vi'})

a是个空列表,你访问a[0]显然越界
list assignment index out of range 意思是指你访问数组index越界。

以上是 【Python】python中列表内能否套字典? 的全部内容, 来源链接: utcz.com/a/79205.html

回到顶部