Python学习(二)基础语法
一、学习网站
廖雪峰 Python入门 慕课网:点击打开
二、基础知识
1、创建list
python内置数据类型:列表 list
, list
是一种有序的集合,可以随时添加和删除其中的元素。list
的元素是按照顺序排列的。
创建list,直接通过 [ ]
创建 。
1 | Leo = ["name","age","address"] |
由于python是动态语言
,所以不要求list里面必须是统一类型数据,比如:
1 | Leo = [ "name" ,15,True] |
一个元素也没有的list,就是空list
1 | Leo = [] |
2、查询list
a、顺序访问list
从第一个开始访问,索引从0
开始,即:
1 | Leo = ["shuai","niu","bang"] |
b、倒序访问list
从最后一个开始访问,即:
1 | Leo = ["shuai","niu","bang"] |
3、添加新元素list
** a、append()方法添加:**append()
方法总是添加到 list
尾部
1 | Leo = ["ni","hao","haha"] |
** b、insert()方法添加:**
接收两个参数,第一个是索引号,第二个是待添加的新元素:
1 | Leo = ["ni","hao","a"]; |
4、删除list元素
** a、pop()
删除最后一个,并返回这个元素 **
1 | Leo = ["ni","hao","a"]; |
** b、pop(index)
删除index索引的元素,并返回这个元素 **
1 | Leo = ["ni","hao","a"]; |
5、替换元素
1 | Leo = ["shuai","niu","bang"]; |
6、创建多元素的tuple
另一种有序列表,称为“元组”
, tuple
和 list
非常相似,但是 tuple
一但创建就不能修改。
1 | Leo =( "ni" , "hao" , "a" ); |
这里的Leo就不能改变,并且tuple没有 append()
, insert()
和 pop()
方法,不能增删tuple。
获取里面元素的值方法还是一样:
1 | Leo =( "ni" , "hao" , "a" ); |
7、创建单元素的tuple
包含 0
个元素的 tuple,也就是空tuple,直接用 ()
表示:
1 | t = (); # print t 结果 () |
8、“可变的”tuple
即在tuple里面有list:
1 | t = ("a", "b", ["A", "B"]) |
9、if语句
注意:python代码的缩进规则,相同缩进的代码视为代码块,如果if语句判断true
则执行代码块:
1 | age = 20 |
python缩进:4个空格
,不用tab
,更不要混合用tab和空格
,否则容易引起语法错误。
注意: if 语句后接表达式,然后用: 表示代码块开始。
if…else…
1 | if age >= 18: |
特别注意: 这一系列条件判断会从上到下依次判断,如果某个判断为 True,执行完对应的代码块,后面的条件判断就直接忽略,不再执行了。
10、for循环
1 | L = ["Adam", "Lisa", "Bart"] |
嵌套for循环
1 | for x in ["A", "B", "C"]: |
11、while循环
1 | N = 10 |
while循环每次先判断 x < N,如果为True,则执行循环体的代码块,否则,退出循环。
12、break退出循环
1 | sum = 0 |
13、continue继续循环
1 | for x in L: |
14、dict
用dict标识“键”-“值”(key-value)
,可以通过key
查到value
1 | d = { |
访问dict 使用d[key]
查询
1 | print d["Lisa"] # 85 |
15、dict特点:
第一个特点:
查找速度快,无论是10个元素还是10万个元素,查找速度一样快。
缺点就是占用内存大,会浪费很多内容。
而list则相反,占用内存少,但查找速度会随着元素增多而减慢。
第二个特点:存储的key-value
序列没有顺序。
第三个特点:作为key的元素不可变
16、更新dict
如果这个key不存在,则创建新key-value,如果存在,则更新替换原有数据。
1 | d["Paul"] = 72 |
18、set
dict的作用是建立一组
key
和一组value
的映射关系,dict
的key
是不能重复的。
当我们只关系dict
的key
而不关心对应value
时,set
就派上用场。set
持有一系列元素,这一点和list
很像,但是set
的元素没有重复,而且是无序的,这点和 dict 的 key很像。
** 1、创建set **
创建set
的方式是调用set()
并传入一个list
,list
的元素将作为set
的元素:
1 | s = set(["a","b","c"]) |
set不能包含重复的元素,不然会被自动去掉重复,常用在去重:
1 | s = set(["A", "B", "C", "C"]) |
** 2、访问set **
1 | s = set(["A", "B", "C", "D"]) |
** 3、set特点 **
set
的内部结构和dict
很像,唯一区别是不存储value
,因此,判断一个元素是否在set
中速度很快。set
存储的元素和dict
的key
类似,必须是不变对象,因此,任何可变对象是不能放入set
中的。
最后,set
存储的元素也是没有顺序的。
1 | # 判断一个字符串是否存在list里 |
** 4、遍历set **
使用for循环
1 | # 案例1 |
** 5、更新set **
添加元素 add():
1 | s = set([1, 2, 3]) |
删除元素 remove():
1 | s = set([1, 2, 3, 4]) |
所以用add()可以直接添加,而remove()前需要判断。