正文
1 创建列表
对于初学者来说,创建列表最常用的方法就是用一对方括号。
即便是老鸟,也会大量使用方括号创建列表,尤其是使用推导式创建列表的情况下。
但其实方括号就像口语或俚语,太过随便。大家要习惯使用严谨的list()来创建列表。使用list()创建列表,是list类的实例化的标准方法,可以体会list类的构造函数如何适应不同类型的参数。
2 列表的索引
方括号可以创建列表,但方括号并不等同于列表,因为方括号还用来索引。
列表的索引非常灵活,尤其是引入了负数索引,用-1表示最后一个元素或逆序,实属喜大普奔。上面的操作,属于常用索引方式,如果能读懂下面的代码,说明你已经具备了足够深的功力。
3 列表的方法
对于列表对象的方法如果能信手拈来,那就是Python高手了。
02 花括号
花括号代表字典对象,大多数初学者都这样认为。然而,这是错误的,至少是片面的。下面的代码中,a和b都是用花括号创造出来的对象,却一个是字典,一个是集合。
原来,Python用花括号表示字典和集合两种对象:花括号内是空的,或者是键值对的,表示字典;花括号内是无重复元素的,表示集合。为了不引起误会,我习惯用dict()来生成字典,用set()来生成集合。
编码实践中,虽然在某些情况下集合是无可替代的,但集合的使用频率是“四大金刚”中最低的,我们这里不展开讨论,只说说字典的使用技巧。
1 判断一个键是否存在于字典中
Py2时代,dict对象曾经有has_key()的方法,用来判断是否包含某个键。py3舍弃了这个方法,判断一个键是否存在于字典中,只能使用in这样的方法了。
2 向字典中添加一个新键或更新键值
很多人喜欢用对字典的一个键赋值的方法,实现向字典中添加一个新键或更新键值。
我不推荐这样的方式,使用update()才更有仪式感,还可以一次添加或修改多个键。
3 从字典中获取一个键值
a[‘age’]是最常用的方式,但是也还会遇到键不存在的异常。下面的方法值得推荐。
4 获取字典的全部键、全部值、全部键值对
dict类提供了keys()、values()和items()等三个方法分别返回字典的全部键、全部值和全部键值对。需要注意的是,返回结果并非列表,而是迭代器。如果你需要列表形式的返回结果,请使用list()转换。
5 遍历字典
遍历字典的时候,很多同学或写成遍历字典的keys()。其实,不需要这么麻烦,可以像下面这样直接遍历。
03 圆括号
圆括号代表元组对象,这么说应该没有问题吧?的确,听起来没有问题,但在元组的使用上,我相信每个初学者都会跌进同一个深坑至少一次。
1 必入之浅坑
元组不用于列表的最显著的特点,就是无法更新元素的值。忘记或者忽略这一点,就会入坑。
做了那么多年开发,自学了很多门编程语言,我很明白学习资源对于学一门新语言的重要性,这些年也收藏了不少的Python干货,对我来说这些东西确实已经用不到了,但对于准备自学Python的人来说,或许它就是一个宝藏,可以给你省去很多的时间和精力。
别在网上瞎学了,我最近也做了一些资源的更新,只要你是我的粉丝,这期福利你都可拿走。
我先来介绍一下这些东西怎么用,文末抱走。