list&tuple&dict

1.列表是动态数组,他们可以改变元素,对内部数据执行排序、插入、删除等功能。

2.元素是静态数组,他们不可变,一旦其元素确定下来,其内部数据便不可在更改。

元素缓存于Python运行时环境,这意味着我们每次使用元组时无需访问内核去分配内存。

3.当动态数组(列表)第一次添加新的元素(列)时,系统会生成一个新的列表,同时销毁旧的列表。这个列表会预留足够的空间,保证新列表的大小M>N(旧列表的空间),这是因为添加元素这个操作可能并不只有一次,第一次是个开端,通过预留足够空间的做法,我们就可以减少这一分配空间的操作次数以及内存复制的次数,这点非常重要,因为内存复制可能非常昂贵,特别是当列表大小开始增长后。

4.tuple最大的特性,是函数可以返回多个值,这个特性很常用。

tuple放弃了对元素的增删,(内存结构设计上变得更精简),换取的是性能上的提升,创建tuple比list要快,存储空间比list占用更小,元组里只有一个元素的时候,逗号(,)非常重要

5.彻底搞懂Python切片操作https://www.jianshu.com/p/15715d6f4dad

6.列表

三大优点:

  • 异构性(可包含几种不同的数据类型,甚至可嵌套列表)、

  • 有序性(执行切片操作)

    扫描二维码关注公众号,回复: 16852624 查看本文章

    注:切片操作不会改变原有的列表,而是复制一份新的列表。

  • 可任意修改(列表的大小和内容可以随意改变,删除、增加、修改、排序列表元素)

    注:而修改元素时,是在原有内存地址上直接修改列表对象,称之为“本地修改”。

    1. append(num):直接将元素加在列表末尾
    2. insert(x1,num):可以选择插入元素的位置
    3. extend( [list] ):可以在尾部一次性加入多个元素

7.字典

字典这个容器类型非常好用,也非常重要

​ 1.字典和列表完全不同的,字典里的对象是无序的,他是通过一对对的键值对来反映一种映射关系。字典里,每个键都是唯一的,我们可以通过键来存取对应的值,而不能像列表那样通过位置来索引。

​ 2.对字典的读取和修改也很简单

​ 3.字典的动态生成方法

​ (1)用列表生成动态字典

	   dict(zip(key_list, value_list))

​ (2)用键值对元组组成的列表构成字典

​ dict( [ (#,#), (#,#),(#, #) ] )

​ 4.访问字典时,可能会出现所要访问键值对不存在的情况,为了避免这种情况,可采用一种高级的访问方式:get(‘d’, 0) (get函数中第二个参数0表示返回值为0,若不设置,则返回None)

​ e.g. D = {‘a’: 11, ‘b’:22, ’c’:33}

​ print(D.get(‘d’, 0))

​ 5.为了不一个一个的手动访问字典键,而是一次性的获取所有的键,我们可以用下面的方法来一次性获取包含所有键/值/键值对的列表:

D = {‘a’: 11, ‘b’:22, ’c’:33}

print(list(D.keys()))

print(list(D.values()))

print(list(D.items()))

​ 6.虽然字典是无序的,但是我们任然可以对字典的键进行排序

​ sorted(D)

​ sorted(D.keys())

猜你喜欢

转载自blog.csdn.net/lvyunkai0518/article/details/124510046
今日推荐