(11)基本对象类型--元组、字典定义、访问及修改(P1)

1. 基本对象类型(python里面一切皆是对象)

(接前文)


1.6 元组

 不可变的列表被称为元组,区别是用小括号包含。元组的元素不能修改,但可以对整个元组进行重新赋值。

 元组也是序列,因此对元组的遍历、读取某个元素、切片等操作,和列表、和字符串相同。

 特别提醒:若元组中只有一个元素时,元素后面需要加一个半角的英文逗号。

示例:

>>> a = (3) #没有逗号

>>> type(a) #输出<class 'int'>,不是tuple类型

>>> a = (3,) #元组

>>> type(a) #输出<class 'tuple'>,是tuple类型


1.7 字典

1.7.1 字典定义

 字典是一系列键值对。每个键都与一个值相关联,可以使用键来访问与之相关联的值。键和值之间用冒号分隔,而键值对之间用逗号分隔。与键相关联的值可以是数字、字符串、列表乃至字典。事实上,可将任何Python对象用作字典中的值。

 字典用放在花括号{} 中的一系列键值对表示。

 键必须是唯一的,不允许重复的键。值可以重复。

 值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组,可变类型如列表不可以作为键。示例:

>>> d = {1:'a',2:'b',(3,4):'c'}  #有效的字典定义,元组可以作为键

>>> d = {1:'a',2:'b',[3,4]:'c'}  #错误的字典定义,列表不能作为键

 字典是一种动态结构,可随时在其中添加键值对。

 字典中各个键值对无次序关系。


1.7.2 访问及修改字典

1.7.2.1 访问字典中的值

要获取与键相关联的值,可指定字典名和放在方括号内的键。示例:

>>>d1 = {'name': 'xiaoming', 'age': 15}

>>>d1['age'] #输出15

>>>d1['sex']  #系统抛出异常,可以采用get()方法。


1.7.2.2 添加键值对

要添加键值对,可依次指定字典名、用方括号括起的键和相关联的值。示例:

>>> d1['hobby']=['swiming','reading','football']

>>> d1  输出:{'name': 'xiaoming', 'age': 15, 'hobby': ['swiming', 'reading', 'football']}


1.7.2.3 修改字典中的值

与新增键值对格式相同。示例:

>>> d1['hobby']=['swiming','reading']  #修改键'hobby'对应的值,原来为 ['swiming', 'reading', 'football']}

>>> d1 #输出 {'name': 'xiaoming', 'age': 15, 'hobby': ['swiming', 'reading']}


1.7.2.4 删除键值对

使用del 语句指定字典名和要删除的键,将相应的键—值对彻底删除。示例:

>>> del d1['age']  #删除键为'age'的键值对

>>> d1  #输出{'name': 'xiaoming', 'hobby': ['swiming', 'reading']}

>>> del d1  #删除字典


1.7.3 字典复制三种方式 (赋值引用、copy、deepcopy)

1) 赋值引用

>>> dict1 = {'Name': 'xiaoming', 'Age': 7, 'Class': 'First'}

>>> dict2 = dict1  #赋值引用,数据只有一份

>>> id(dict1)  #存放数据的内存地址50401344

>>> id(dict2) #内存地址 50401344未变,指向同一份数据

2) copy(浅拷贝)

二份数据。对简单数据类型的元素会复制数据,复杂数据类型的元素只复制地址引用。

语法、使用方式已经功能与列表的copy相同。示例:

>>> dict1 = {'Name': 'xiaoming', 'Age': 7, 'Class': 'First'}

>>> dict2 = dict1.copy()

3) deepcopy(深拷贝)

使用方法与列表的深拷贝相同。

复制所有数据,包括简单数据类型元素和复杂数据类型元素。使用方法与列表的深拷贝相同。示例:

>>> dict2 = copy.deepcopy(dict1)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容