字典,条件,循环和其他语句
1介绍
本节记录了《Python基础教程》关于字典,条件,循环和其他语句的笔记。
2字典
2.1基本操作
字典是大括号,也是所谓的键值对,也可以使用dict()函数去创建,但是dict()函数的参数有一定的要求。
基础操作:
(1)len():求键值对对数;
(2)d[k]=value:将值复制到对应的键上;
(3)del d[k]:删除对应键值对;
(4)K in d :查询相应的键是否在字典中
2.2方法
(1)Clear():清空字典,设字典word,word={}使word绑定到一个新的空字典上,原来的字典仍然存在,而word.clear()是彻底清空字典;
(2)Copy():copy的问题在于,复制得到的字典替换值时,原字典不受影响,更改值时原字典值也会被更改。
(3)Deepcopy():不存在copy函数的问题,但是使用前需要从copy模块中引入“from copy import deepcopy”,使用方法为deepcopy(字典名)。
(4)Get():是一个比较宽松的获取值的方法,参数为键,键存在则返回值,键不存在则返回none。
(5)Hash_key():Python3.0中不包括该函数,登同于key in 字典名称。
(6)Update():使用一个字典去更新另外一个字典,若有相同键则覆盖,若有不同键则插入。
(7)Popitem():该函数弹出字典最后一个元素,但是字典中并没有顺序概念,所以是弹出随机项,格式为元组。
3条件
3.1序列解包
在赋值时,等号两边可以有多个值,但是值的个数必须相同(个数不同会报错)。此处,元组与变量的复制最为常见,所以当某个函数返回一个元组时,可以直接使用序列解包的特性,获取元组的值,以字典popitem函数为例。
3.2条件语句
True=1,False=0;
格式:
If 条件:
elif 条件:
else:
例子:
#!/usr/bin/python3.5 DataBase=[ ['Tom','111'], ['Jerry','222'], ['Jack','333'], ['Jhon','444'], ] Name=input('Enter Name:') Pwd=input('Enter Pwd:') if([Name,Pwd] in DataBase): print ('Successful!') else : print ('Faild')
4循环和其他语句
4.1while循环
While语句实在是太常见了,与其他语言没有没有什么太大的区别:
#!/usr/bin/python3.5 i=1 while i<=10: print ('num=',i); i+=1;
4.2for循环
For循环语句有趣的地方在于构造for后面的条件。
(1)in:for k in d 或者 for k in range(num)或者for k,v in d.items()等等
(2)并行迭代:此处牵涉到一个zip函数,将两个序列压缩成一个元组列表
源码:
#!/usr/bin/python3.5 names=['A','B','C','D'] ages=[1,2,3,4] for k,v in zip(names,ages): print(k,'age is',v)
(3)跳出循环:break;continue;
4.3其他语句
(1)pass:可以理解为跳过,因为Python程序中不允许存在空代码块(elif 对应的语句块,空着没写),可以先写上pass,等想好该语句块时再来补充。
(2)del:只能删除一个对象的引用和名字,比如可以删除一个字典的名字,字典为空,但是字典中的值仍然存在(Python会自动回收)
(3)exec:执行一个字符串的语句。