搜索

首页  >  问答  >  正文

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

迷茫迷茫2786 天前876

全部回复(5)我来回复

  • 阿神

    阿神2017-04-18 10:28:45

    这个问题跟列表嵌套无关,正常的赋值也会说你的那个错误。

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

    回复
    0
  • 大家讲道理

    大家讲道理2017-04-18 10:28:45

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

    回复
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-18 10:28:45

    雷雷

    回复
    0
  • 黄舟

    黄舟2017-04-18 10:28:45

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

    回复
    0
  • PHP中文网

    PHP中文网2017-04-18 10:28:45

    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'}

    回复
    0
  • 取消回复