python学习笔记二

原创 2015年07月10日 00:03:34

第13章 for和while循环

1.for比while的执行速度快,python学习手册的作者一直重启强调这一点,绝对不嫌啰嗦

2.for的用法特别多

a.for x in list:,跟C#里的foreach类似,但是对x的修改不能改变原值,除非x是对象的引用(如果要修改原值,只能使用b用法,并且对list[idx]赋值)

b.for idx in range(10):,range可以生成有序整数赋值给idx,可以有三个参数,range(0,10,2),第一个参数为起始值,第二个参数为终止值的下一个值(即不包含此值),第三个参数是步进数(即每次递增的数,这里也可以是负值进行反向步进),range可以和len并用:range(len(list))来获取list元素的索引

c.for item in list[::2]:,这里list[::2]是分片,item是每次取分片中的元素,第三个参数同样是步进数(也可以为负)。分片与a有同样的问题

d.for line in open('file.txt','r'):,这个用法会逐行取文件中的内容

e.for (x,y) in zip(list, list2):,zip会将多个序列中相同索引的元素合并成元组,从而生成一个元组列表

f.for key in Dict:,这里相当于for key in Dict.keys,在新版本中做子简化(虽然语法上有点怪,但是确实少输入了5个字符)

g.for (offset,item) in enumerate(list):,offset得到可迭代对象的索引,item得到其元素

h.L = [x+10 for x in list],列表解析 [结果表达式 for x in list if x满足的条件],居然还可以[x+y for x in 'abc' for y in 'lmn'],结果是['al','am','an','bl','bm','bn','cl','cm','cn']

g.for root,dirs,files in os.walk(path):,遍历文件夹,root保存path根目录路径,dirs保存根目录下的文件夹名(不带完整路径),files保存文件名(不带完整路径)

3.for和while语句比其它语言多一个else块,只有当循环里没有执行过break时才会执行else块里的代码(在以往的编程中确实有遇到这样的需求,可见python满足了经验的需求)

4.Dict的初始化可以使用zip来简化dict(zip(keys, values))

5.zip会以最短长度的序列为准对结果进行截断

6.map(None, list, list2),map与zip类型,不同的是将以第一个参数填充短序列造成的空缺

7.file = open('file.txt','r'),file有三种读取方式

file.read() #读取整个文件(费内存)

file.read(1) #read by charactor,file=open('file.txt','rb')后跟file.read(1)表示读取字节块

file.readline() #read line by line

file.readlines() #read whole file to list include lines

file.xreadlines() #按需求加载文字列

8.迭代器:

file.readline()相当于执行了迭代器file.next(),不同的时当执行file.next()到达文件末尾会抛出StopException异常(其它类型迭代器需要iter(list)转换一下)

sorted(list) #使用迭代将list重新排序

sum(list) #使用迭代将list元素内容相加

any(list) #使用迭代将所有元素or求结果

all(list) #使用迭代将所有元素and求结果

'&&'.join(strlist) #使用迭代在所有字符串元素中间插入&&得到一个字符串

list(listable) #使用迭代创建可迭代对象的list对象

tuple(listable) #使用迭代创建可迭代对象的元组新对象

9.pass是空语句

10.赋值语句不能出现在应该是表达式出现的场合(这个很赞!)例如C语言中的if (x=next())就不能在python中使用

Selenium python之学习笔记

  • 2017年12月04日 12:19
  • 1.33MB
  • 下载

Python Django框架学习笔记

  • 2017年11月18日 22:21
  • 223KB
  • 下载

spark机器学习笔记:(二)用Spark Python进行数据处理和特征提取

声明:版权所有,转载请联系作者并注明出处  http://blog.csdn.net/u013719780?viewmode=contents   1.  获取公开数据集 UCL机器学习...

python 学习笔记-while 循环

  • 2017年11月02日 01:03
  • 1.23MB
  • 下载

Python学习笔记5

  • 2016年09月30日 16:06
  • 2.41MB
  • 下载

Selenium2 Python 自动化测试实战学习笔记(二)

4.6 获得验证信息 通常我们用得最多的几种验证信息分别是title、url和text,text方法它用于获取标签对应的文本信息。 下面用126邮箱例子,来获取这些信息:Login126.py #...

Python学习笔记

  • 2017年08月11日 20:52
  • 40KB
  • 下载

Python学习笔记

  • 2011年12月29日 11:39
  • 1.03MB
  • 下载

python自然语言处理学习笔记二

第二章  获得文本语料和词汇资源 1 获取文本语料 古腾堡语料库 gutenberg >>> import nltk >>>nltk.corpus.gutenberg.fileids() [...

python基础学习笔记(1)

  • 2017年05月20日 15:30
  • 1.76MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:python学习笔记二
举报原因:
原因补充:

(最多只允许输入30个字)