Python中list、tupe、dic、set的使用小记

来源:互联网 发布:职场女强人知乎 编辑:程序博客网 时间:2024/05/17 23:21

以下内容根据老师课件整理而来,不喜勿喷!

list

list=[元素1,元素2,…元素n]  #定义n个元素组成的列表

1.性质

    列表也是序列,其使用与字符串十分相似,同样支持负数索引、分片等特性,但列表的元素可修改。

    与字符串一样,可使用len获取列表长度,还可使用+和*拼接列表。

2.方法


注意pop()和pop(0)的区别,一个是弹出最后一位,一个是弹出第一位


前者弹出栈顶元素,后者是弹出队列第一个元素,有所区别。

3.列表解析



tupe

 tuple=(元素1,元素2,…元素n)  #定义n个元素组成的元组

1.性质

    元组是一种不可变序列,即创建之后不能再做任何修改。
    元组由不同的元素组成,每个元素可以存储不同类型的数据,如字符串、数字甚至元组。
    元组通常代表一行数据,而元组中的元素代表不同的数据项。


2.方法


3.元组用途

在映射类型中当作键使用
函数的特殊类型参数
作为很多内建函数的返回值


dic

dictionary={key1:value1, key2:value2, …, keyn:valuen)}#创建n个“键—值”对组成的字典
1.性质

    字典是Python重要的数据类型,字典是由“键—值”对组成的集合,字典中的“值”通过“键”来引用。
    字典也称为关联数组、映射或散列表。
    Python字典利用了“散列”方法,使用专门的散列函数完成,即字典中的每个键都被转换为一个数字—散列值。字典中值存储在一个底层列表中,并用散列值作为索引。访问值时,将提供的键转为散列值,再跳到列表的相应位置。
    使用“键”来访问字典值效率极高。另外与列表一样,字典也是可以改变的:可以添加、删除或修改“键—值”对。

    字典的访问与元组、列表有所不同,元组和列表是通过数字索引获取对应的值,而字典是通过key值获取相应的value值。

2.注意:对于字典的键有两个限制
    1字典中的键必须独一无二,即在同一个字典中,任何两个键—值对都不能相同;
    2键必须是不可变的。因此,字典键不能是列表、字典。对值没有这两个限制。

3.格式:
   value=dict[key]
   说明:
          字典的添加、删除和修改只需执行一条赋值语句即可,例如:dict[’x’]=’value’
          字典没有remove操作。删除字典元素可调用内置函数del()完成。

4.方法


说明:

popitem()返回并删除字典的某个键—值对,具体是哪个预先并不知道,因此仅当不在乎字典元素的顺序时,此函数才适用。
items()、keys()和values()都返回一个特殊对象—视图。视图被链接到原始字典,因此若字典发生变化,视图也将相应地变化。

结果


应用


5.字典的排序

字典的排序可以使用内置函数sorted()实现。
sorted(iterable, key=None, reverse=False) --> new sorted list
此处:
    iterable—字典的键-值对
    Key—排序关键字:键或值
    reverse—升序或降序,True为降序,False为升序,默认升序


6.复制

    复制分为深拷贝和浅拷贝,不只限于字典,适用于Python的任何对象。可使用copy模块来实现对象的深拷贝和浅拷贝,

deepcopy()用于深拷贝,copy()用于浅拷贝。
    深拷贝能够拷贝对象内部所有数据和引用,引用相当于C语言中指针的概念,Python并不存在指针,但是变量的内存结构中通过引用来维护的。
   浅拷贝只是复制数据,并没有复制数据的引用,新的数据和旧的数据使用同一块内存空间。

例如:

    字典B浅拷贝字典A的数据,如果字典B的数据发生添加、删除或修改操作,字典A的数据也将发生变化;
    相反,如果字典B深拷贝字典A的数据,字典B的数据即使发生变化,也不会影响的字典A。


set

1.性质

    在Python中,集合是一系列不重复的元素。集合类似于字典,但只包含键,而没有相关联的值。
    在Python中,集合是相对较新的功能,在其还不支持集合时,一般使用字典模拟集合。
    集合分两类:可变集合(set)和不可变集合(frozenset)。对于可变集合,可添加和删除元素,而不可变集合一旦创建就不能更改。
    与字典一样,集合的元素排列顺序也是不确定的。

2.集合基本功能

    包括关系测试和消除重复元素。集合对象还支持 union(联合),intersection(交),difference(差)和 sysmmetric difference(对称差集,即异或)等数学运算。
    大括号或 set()函数可以用来创建集合。
    注意:想要创建空集合,必须使用 set() 而不是{}。


2.集合比较


3.集合关系运算





小伙伴们,上面的总结是不是很给力?是不是有效复习了一遍?别忘记点赞哦!

原创粉丝点击