美文网首页python学习笔记
速撸《python学习手册》--第8章-列表和字典

速撸《python学习手册》--第8章-列表和字典

作者: DamaoShao | 来源:发表于2018-08-15 20:38 被阅读0次

列表

  • 任意对象的有序集合
  • 通过偏移读取
  • 可变长度、异构和任意嵌套
  • 属于可变序列的分类
  • 对象引用数组

实际应用中的列表

  • len()
  • in
  • for _ in
  • 列表表达式
  • append()
  • 索引
  • 分片
  • 矩阵(嵌套)

原处修改列表

索引与分片的赋值

被赋值的序列长度不一定要与赋值的分片长度相匹配,所以分片赋值可以用来替换,覆盖,增长,插入,缩短和删除。

列表方法调用

  • append()
  • sort()
  • pop()
  • extend()
  • reverse()
  • index()
  • insert()
  • remove()
  • del

字典

  • 通过键而不是偏移来读取
  • 任意对象的无序集合
  • 可变长、异构、任意嵌套
  • 属于可变映射类型
  • 对象引用表(散列表):key 一定要是可散列的。

常用方法:

  • keys()
  • values()
  • items()
  • copy()
  • get()
  • update() 合并
  • .pop() 将返回被删掉的value
  • len()
  • del 没有返回值
  • list(D.keys())
  • 列表解析
  • Key in dict

实际应用中的字典

字典内键与输入书序无关。

字典用法注意事项

  • 序列运算无效
  • 对新索引赋值会添加项
  • 键不一定总是字符串
  • 使用get方法避免获取不存在的key
  • 可以把字典当成一种记录(即记录每一项信息)

创建字典的方法

In [170]: d={}

In [171]: d={'a':1}

In [172]: d=dict(name=1)

In [173]: d
Out[173]: {'name': 1}

In [174]: d=dict([('name',1),('age',2)])

In [175]: d
Out[175]: {'name': 1, 'age': 2}
 
In [179]: d=dict(zip(['a','b','c'],[1,2,3]))

In [180]: d
Out[180]: {'a': 1, 'b': 2, 'c': 3}
    
In [181]: d={k:v for (k,v) in zip(['a','b','c'],[1,2,3])}

In [182]: d
Out[182]: {'a': 1, 'b': 2, 'c': 3}
   
In [183]: d=dict.fromkeys(['a','b','c'],0)

In [184]: d
Out[184]: {'a': 0, 'b': 0, 'c': 0}
    
In [185]: d=dict.fromkeys('abc')

In [186]: d
Out[186]: {'a': None, 'b': None, 'c': None}

字典视图

字典的keys方法返回的类似集合,支持交集、并集这些操作。但是values方法不是集合,因为他们不是唯一的。items返回的也是集合。

In [187]: d={k:v for (k,v) in zip(['a','b','c'],[1,2,3])}

In [188]: d
Out[188]: {'a': 1, 'b': 2, 'c': 3}

In [189]: d.keys()&d.keys()
Out[189]: {'a', 'b', 'c'}

In [192]: d.keys()&{'b'}
Out[192]: {'b'}

In [193]: d.keys()&{'b':1}
Out[193]: {'b'}

In [194]: d.keys()&{'b':1,'d':100}
Out[194]: {'b'}

排序字典键

拿出字典的list(keys)进行排序。

相关文章

网友评论

    本文标题:速撸《python学习手册》--第8章-列表和字典

    本文链接:https://www.haomeiwen.com/subject/fghgbftx.html