15、python学习手册之:列表和字典

1、列表属于可变序列,支持在原处的修改

2、在标准python解锁器内部,列表就是C数组而不是链接结构

3、内置函数map对序列中的各项应用一个函数并把结果收集到一个新的列表中

  eg:list(map(abs,[-1,-2,0,1,2]))  -> [1,2,0,1,2]

4、对列表进行索引的结果就是你指定的偏移处的对象,而对列表进行分片往往返回一个新的列表

 

1、D={‘spam’:2,‘ham’:1,‘eggs’:3}     list(D.values()) --> [3,1,2]    list(D.items())-->[('eggs',3),('ham',1),('spam',2)]

2、D={‘spam’:2,‘ham’:1,‘eggs’:3}   D2={‘toast’:4,‘muffin’:5}   D.update(D2) -->{‘spam’:2,‘ham’:1,‘eggs’:3,‘toast’:4,‘muffin’:5}

3、字典的键可以是元组等数据结构

4、三种方法解决读取不存在的键的错误:if key in dict;try dict[key]  except KeyError:  ;  dict.get(key,defaultvalue)

5、初始化dict.fromkeys(['a','b'],0)  --> {'a':0,‘b’:0}

6、list(zip(['a','b','c'],[1,2,3])) -->[('a',1),('b',2),('c',3)]

7、在python3.0中字典的keys,values和items都返回视图对象,而在python2.6中,它们返回实际的结果列表,视图对象是可迭代的,这就意味着对象每次产生一个结果项,而不是在内存中立即产生结果列表。视图对象通过list()得到列表

8、字典keys、items方法返回的视图对象类似于集合,可以进行|或者&等操作,但是values不行,因为前者的结果是唯一的,而values的结果不唯一:eg:D={‘a’:1,‘b’:2},C={‘c’,3}   D.keys() | C.keys()   ---> {'a','b','c'}

posted on 2019-03-29 15:26  拉风摊主  阅读(140)  评论(0编辑  收藏  举报

导航