以前虽然用 python 写过一些小东西,但是一直都没有系统的看过 python 的语法。这里想开一个系列笔记,记录一下我比较在意的一些知识点,比较基础,但是也比较跳跃。
列表 & 序列
有两种方式构造列表:
1 | list1 = [] |
跟 Java 中的集合不同,python 中向列表添加元素的方式是 append,并不是 add,有趣的是 Java 中的字符构造 StringBuilder 也是通过 append 方法向 StringBuilder 中追加字符。接下来记一下 python 中关于序列的一些操作,个人感觉是非常方便的,比 Java 要方便的多。
python 可以通过索引来操作序列中的元素,接下来就通过代码感受一下吧:
1 | # -*- coding: utf-8 -*- |
这里通过 0 索引来访问第一个元素,中规中矩,没啥,通过 -1 来访问最后一个元素这就比较骚了。还记得 Java 里是怎么集合的最后一个元素的么?list.get(list.size() - 1),事实上我刚开始写 python 时,我也是这么去拿序列的最后一个元素的:list[len(list) - 1]。当然了,这也许会让你觉得也不过如此,虽然用 -1 去访问最后一个元素,但用另外一种方式也不见得有多不方便。那么继续,还是用上面创建的列表:
1 | print(list1[0:3]) |
第一行,通过索引拿到前三个元素。第二行,通过-2索引访问倒数第二个到最后一个元素。第三行,访问所有元素,步长为3,也就是每隔3取一次元素。第四行倒序访问所有元素。如果你刷过数组相关的算法题,你应该能明白计算索引取相应的元素是最令人头疼的一件事,而 python 则大大简化了这件事。关于列表只想介绍到这,元组是不可变序列,有些类似于 Java 中用 final 修饰的变量。
循环
和 Java 一样,python 也有用于遍历列表的 for 循环:
1 | for item in list1: |
有的时候可能需要索引,不仅仅是遍历:
1 | for i in range(0, 5): |
while 循环和 Java 中的类似:
1 | x = 1 |
python 中的条件判断语句 if - elif,与我平时使用的语言都有些不一样,第一次使用的时候写出 else if 发现还错了,当时还奇怪难道 python 没有 else if。。。这一次暂时就记到这里�