二、元组
元组和列表类型,但属于不可变序列,元组一旦创建,用任何方法都不可以修改其元素。
元组的定义方式和列表相同,但定义时所有元素是放在一对圆括号“()”中,而不是方括号中。
1、元组创建与删除
使用“=”将一个元组赋值给变量
使用tuple函数将其他序列转换为元组。
使用del可以删除元组对象,不能删除元组中的元素。
2、元组与列表的区别
元组中的数据一旦定义就不允许更改。
元组没有append()、extend()和insert()等方法,无法向元组中添加元素。
元组没有remove()或pop()方法,也无法对元组元素进行del操作,不能从元组中删除元素。
从效果上看,tuple()冻结列表,而list()融化元组。
3、元组的优点
元组的速度比列表更快。如果定义了一些列常量值,而所需做的仅是对它进行遍历,那么一般使用元组而不用列表。
元组对不需要改变的数据进行“写保护”将使得代码更加安全。
元组可用作字典键(特别是包含字符串、数值和其他元组这样的不可变数据的元组)。列表永远不能当作字典键使用,因为列表不是不可变的。
4、字典
字典是无序可变序列。
定义字典时,每个元素的键和值用冒号分隔,元素之间用逗号分隔,所有的元素放在一对大括号”[]”中。
字典中的键可以为任意不可变数据,比如整数、实数、复数、字符串、元组等等。
globals()返回包含当前作用域内所有全局变量和值的字典。
locals()返回包含当前作用域内所有局部变量和值的字典。
5、字典创建与删除
使用=将一个字典赋值给一个变量:
使用dict利用已有数据创建字典
使用dict根据给定的键、值创建字典
以给定内容为键,创建值为空的字典
None无引号,不是字符串,表示未对字典赋值
可以使用del删除整个字典
6、字典元素的读取
以键作为下标可以读取字典元素,若键不存在则抛出异常。
使用字典对象的get方法获取指定键对应的值,并且可以在键不存在的时候返回指定值。
使用字典对象的items()方法可以返回字典的键、值对列表。
使用字典对象的keys()方法可以返回字典的键列表。
使用字典对象的values()方法可以返回字典的值列表。
上面的key不表示输出键,而相当于局部循环变量。要单独输出键/值,应在aDict中进行限定。未加特殊说明,默认为键。
当以指定键为下表为字典赋值时,若键存在,则可以修改该键的值;若不存在,则表示添加一个键、值对。
使用字典对象的update方法将另一个字典的键、值对添加到当前字典对象。
使用del删除字典中指定键的元素。
使用字典对象的clear()方法来删除字典中所有元素。
使用字典对象的pop()方法删除并返回指定键的元素。
使用字典对象的popitem()方法删除并返回字典中的一个元素。
7、字典应用案例
首先生成包含1000个随机字符的字符串,然后统计每个字符的出现次数
8、字典推导式
9、集合
集合是无序可变序列,使用一对大括号界定。元素不可重复,同一个集合中每个元素都是唯一的。
集合中只能包含数字、字符串、元组等不可变类型(或者是可哈希)的数据,而不能包含列表、字典、集合等可变类型的数据。
10、集合的创建与删除
直接将集合赋值给变量。
使用set将其他类型数据转换为集合。
使用del删除整个集合。
当不在使用某个集合时,可以使用del命令删除整个集合。集合对象的pop()方法弹出并删除其中一个元素,remove()方法直接删除指定元素,clear()方法清空集合等运算。
Python集合支持交集、并集、差集等运算。