Python中几个容易混淆的概念:列表、元组、字典、集合

这几个概念共同的特点就是:他们都能把一系列元素整合到一起。这样的数据结构有利于对大量数据的管理和使用。严格说来,字符串也是这样的结构,但我认为它不容易与这几个概念搞混。它里面整合的元素必须是字符,但要注意它不可修改的特性。

列表(list)元组(tuple)则可以包含任意类型的元素作为它们的对象,甚至可以包含列表、元组、字典和集合。

图1 定义列表、元组

图2 列表、元组里面的内容

列表和元组都支持通过偏移量对元素进行索引,多重索引可以访问列表中的列表中的元素。

图3 多重索引

两者看上去很像,区别在于:列表可修改,而元组不可修改。你可以把元组看作是一个列表常量。

字典(dictionary)与前两者的区别在于:它里面的每一个元素都是一个“键值对”,且元素之间是无序的,不能通过偏移量进行索引。但数据不会混乱,因为键是唯一的(键不可重复)。另外,字典是可修改的。对于字典,我目前的理解是:我们通常关心的是“值”,通过“键”对“值”进行索引,而“键”可以是任意类型,通常是字符串。这样做的好处是每个“值”的意义更明确,就好像字典是一些名称各不相同的“变量”的集合。

集合(set)则像是只保留“键”的字典。集合同样是无序的。

这几个对象之间是可以通过各种方法进行转换的。

在表示方法上,列表用方括号“[ ]”,元组用圆括号“( )”,字典和集合都用花括号“{ }”,如果花括号中间出现了冒号“:”,则冒号连接了一对键值对,那么这个花括号表示的就是一个字典。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值