Python

2019-05-14 列表 元组 字典 集合

2019-05-14  本文已影响0人  沙滩印

列表list是一种有序的集合,可以随时添加和删除其中的元素。 --[]

另一种有序列表叫元组:tuple。tuple和list非常类似,但是tuple一旦初始化就不能修改。tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。 --()
函数可以同时返回多个值,但其实就是一个tuple。

如果要定义一个空的tuple,可以写成():

>>> t = ()
>>> t
()

要定义一个只有1个元素的tuple,如果你这么定义:

>>> t = (1)
>>> t1

定义的不是tuple,是1这个数!这是因为括号()既可以表示tuple,又可以表示数学公式中的小括号,这就产生了歧义,因此,Python规定,这种情况下,按小括号进行计算,计算结果自然是1。

所以,只有1个元素的tuple定义时必须加一个逗号,,来消除歧义:

>>> t = (1,)
>>> t(1,)

Python在显示只有1个元素的tuple时,也会加一个逗号,,以免你误解成数学计算意义上的括号。

Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储. --{:}
如果key不存在,dict就会报错:

>>> d['Thomas']
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 'Thomas'

要避免key不存在的错误,有两种办法,一是通过in判断key是否存在:

>>> 'Thomas' in d
False

二是通过dict提供的get()方法,如果key不存在,可以返回None,或者自己指定的value:

>>> d.get('Thomas')
>>> d.get('Thomas', -1)
-1

注意:返回None的时候Python的交互环境不显示结果。
请务必注意,dict内部存放的顺序和key放入的顺序是没有关系的。作为key的对象不能变,list是可变的,就不能作为key。

和list比较,dict有以下几个特点:

set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key,且是无序的。 --set()

上一篇 下一篇

猜你喜欢

热点阅读