人称帅哥 1星
共回答了126个问题 评论
最本质的区别:第一种方法得出的a是列表,而第二种的a是字典用python语句表达来看就是:
1.type(a) == list2.type(a) == dict在交互式界面下显示:
第一种:>>> a[{'name':'fokil'}]此时a是一个列表,他具有列表的一切方法和属性,但不具备任何字典的方法和属性。
列表可以有N个元素,元素的类型是任意的,与列表本身无关。而此时的a有一个元素,该元素是一个字典——但这并不代表整个列表a带有任何字典的性质。明白?第二种:>>> a{'name':['fokil']}同上,此时a是一个字典,具有字典的一切方法和属性,但不具备任何列表的方法和属性。字典可以有N个元素,每个元素由一对key和内容的组合构成。
key可以是任何单一对象的类型(不能是列表或字典——但可以是元组。当然,还可以是数字、字符/字符串,甚至是文件对象),而key对应的内容则可以是任意类型的。
在此时,a中只有一个元素,key是一个字符串,而内容则是一个含有一个字符串元素的列表——同样,这不意味着a具有任何的列表性质总而言之,严格的讲:没有“字典列表”或“列表字典”这种概念只有一个列表,他包含的元素的类型是字典——当然,列表中的元素可以是不同类型的,譬如:a = [1, 'test', [2,3,4], {'name':'fokil'}
]同理,只有一个字典,他包含的元素中的一部分是列表(当然,key部分不可能是列表)。当然,也有可能是不同类型的元素: a = {1:'b',(1,2,3):[4,5,6],'test':{'test2':['test3']}}
19小时前
猜你喜欢的问题
5个月前1个回答
5个月前1个回答
5个月前1个回答
5个月前2个回答
5个月前1个回答
5个月前2个回答