python教程/学习笔记(4)
else: print 'wrong' 3.4.循环语句 3.4.1.while循环
(1)while基本操作 while 条件: 执行 # 直到不满足此条件,才会跳出 (2)break与continue break跳出最近的整个循环 continue跳出本次循环
3.4.2.for循环(特别在对序列或其他可迭代对象,对每个元素都执行代码块) (1)基本形式: for 对象 in 对相集合 if 条件1: 语句块1 break;#终止此for循环 if条件2: 语句块2 continue;# 跳过下面语句,进入下一循环 语句块3
else: # 如果for循环未被break终止,则执行else块中的语句 语句块4
(2)依次输出列表中所有元素方法一: numbers=[0,1,2,3,4,5,6] for x in numbers: print x
(3)对列表中的数字求和 numbers=[0,1,2,3,4,5,6] sum=0
for x in numbers: sum+=x
print 'sum='+str(sum)
(4)依次输出一个字符串内每一个字符 s=\for c in s:
print c, # print后面加上逗号,为了使输出的字符在同一行。 (5)for遍历字典元素,例如: a={'x':1,'y':2,'z':3} for key in a: print key,'corresponds to',a[key]
(5)range()函数 # for 循环经常和range()一起用 语法:range(初始值,结束值,步长) 初始值不是必须,默认为0 结束值是必须
步长不是必须,默认值为1
range应用举例1:>>> range(10) #默认起始值为0,步长为1 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> range(3,8) #默认步长为1 [3, 4, 5, 6, 7] >>>range(3,8,1) [3, 4, 5, 6, 7]
>>> range(3,8,2)#指定步长为2 [3, 5, 7]
>>>range(5,-5,-1)
[5, 4, 3, 2, 1, 0, -1, -2, -3, -4] >>>range(5,-5) []
range应用举例2:依次输出列表中的每个元素方法二: aList=['apple','orange','banana']; #定义一个列表
#每次循环都将列表中的一个元素赋值给目标对象x for x in range(len(aList)): print aList[x]; #输出目标对象
range应用举例3:在0~99的数中查找用户输入的值 sx=raw_input(\输入x的值\x=int(sx);
for y in range(0,100): if x==y: print \ break; else: print \
四.内置数据结构
(注意,把一个列表,字典或set赋值给另一个时,要用copy号,而不能用=,因为它们本质上赋的是地址)
4.1.序列
序列中最常用的是列表,元组和字符串,列表可以更改,元组和字符串不可更改(比如字典的键不能修改,所以用元组)
以下特征是列表元组和字符串共有的 4.1.1.序列引索,例如day[2]
4.1.2.序列分片,例如day[2:6] #从第2 个开始,从第6个开始不算 访问前三个,day[:3] 访问后三个,day[-3:]
访问所有,day[:]
等间距访问(步长)day[0:9:3] # 其中3就是步长 每隔一个访问所有元素day[::2] 步长可为负,倒过来访问day[::-1] 4.1.3.序列相加,例如
[1,2,3]+[4,5,6] 得到 [1,2,3,4,5,6] 'hello,'+'world!' 得到'hello,world'
[1,2,3]+'hello' 会报错#只有相同类型的序列才能进行相加,所以列表和字符串不能相加。 4.1.4.序列乘法 >>> 'python'*5
'pythonpythonpythonpythonpython' >>> [42,43]*3
[42, 43, 42, 43, 42, 43]
4.1.5.空列表:[]
占用十个元素空间却没有任何内容的列表:[None]*10 # None是一个python内建值,表示里面什么也没有 4.1.6.成员资格:用in(布尔运算符),真返回true,假返回false,true为布尔值,例如: >>> bibi=['you','i','he'] >>>'you' in bibi True
>>> raw_input('please enter your name, son of bitch:') in bibi please enter your name, son of bitch:he True
4.1.7.len,min,max分别返回序列长度,序列中最小元素,序列中最大元素。对元组来说,比较第一个元素,返回第一个元组最大的元组。 4.2.列表(列表是可变的)
4.2.1.list函数可以把任意类型的序列变成列表。(用join函数可以把字符串、元组、列表中的元素以指定的字符(分隔符)连接生成一个新的字符串,例如''.join9(day)可以把列表转换为字符串)
>>>list('Hello')得到['H','e','l','l','o']
4.2.2.基本的列表操作:元素赋值,元素删除,分片赋值,列表方法。 4.2.3.元素赋值,例如,x[1]=2,即把列表中第二个元素变为了2。
4.2.4.元素删除,例如,del[0]是删除第一个元素,del[:2]是删除前两个元素,delx 是把整个列表删除。(字典与字符串中元素删除也可以使用del)
4.2.5.分片赋值可以进行替换,插入,删除(与del效果相同)等功能。 替换:
>>>name=list('perl')
>>>name[1:]=list('ython') #分片赋值可以用不等长的列表来替换原分片 >>>name
得到结果['p','y','t','h','o','n'] 插入:>>>numbers[1,5] >>>numbers[1:1]=[2,3,4] >>>numbers [1,2,3,4,5]
删除:number[1:4]=[] >>>numbers [1,5]
4.2.6.列表方法:方法是作用于某些对象的函数,对象可以是列表、数字、字符串等等。 列表使用方法:对象.方法(参数). 以下为几种列表方法: (1).append在列表末尾追加新对象。#append是直接修改原表 >>>lst=[1,2,3] >>>lst.append(4) >>>lst [1,2,3,4]
(2).count统计某元素在列表中出现的次数。
>>>['to','be','or','not','to','be'].count('to') 结果是2 >>>x=[[1,2],1,1,2]
>>>x.count(1) 结果是2 >>>x.count([1,2]) 结果是1
(3).extend在列表某末尾追加另一个列表# 注意,加法+不改变原列表a, extend改变a a.extend(b) 在a末尾加上b
a.extend([1,2]) 同理。#也可用分片赋值,但可读性不如extend
(4).index找到某元素最先出现的位置,例如: >>>knight=['we','are','the',knights'','ha','ha','ha'] >>>knight.index('ha') 结果为4
(5).insert方法将对象插入列表中,例如: >>>numbers=[1,2,3,5,6,7] >>>numbers.insert(3,'four')
>>>numbers 结果为 [1,2,3,'four',5,6,7]#也可用分片赋值,但可读性不如insert
(6).pop方法移除列表中的一个元素,(不写是哪个就默认最后一个),并返回该元素值。 # pop是唯一一个既能修改列表又返回元素值的列表方法。 >>>x=[1,2,3] …… 此处隐藏:1627字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [高等教育]公司协助某村精准扶贫工作总结.doc
- [高等教育]高二生物知识点总结(全)
- [高等教育]苏教版数学三年级下册《解决问题的策略
- [高等教育]仪器分析课程学习心得
- [高等教育]2017年五邑大学数学与计算科学学院333
- [高等教育]人教版七年级下册语文第四单元测试题(
- [高等教育]2018年秋七年级英语上册Unit7Howmuchar
- [高等教育]2017年八年级下数学教学工作小结
- [高等教育]湖南省怀化市2019届高三统一模拟考试(
- [高等教育]四年级下册科学_基础训练及答案教材
- [高等教育]城郊煤矿西风井管路伸缩器更换施工安全
- [高等教育]昆八中20182019学年度上学期期末考试
- [高等教育]项目部各类人员任命书
- [高等教育]上市公司经营水务产业的模式
- [高等教育]人教版高二化学第一学期第三章水溶液中
- [高等教育]【中考物理第一轮复习资料】四.压强与
- [高等教育]金坑水电站报废改建工程机电设备更新改
- [高等教育]高中生物教学工作计划简易版
- [高等教育]2017年西华大学攀枝花学院(联合办学)44
- [高等教育]最新整理超短爆笑英文小笑话大全
- 优秀教师继续教育学习心得体会
- 阳历到阴历的转换
- 留守儿童教育案例分析
- 华师17春秋学期《玩教具制作与环境布置
- 测速传感器新型安装装置的现场应用
- 人教版小学数学三年级下册第四单元
- 创业个人意向书
- 山东省潍坊市2012年高考仿真试题(三)
- [恒心][好卷速递]四川省成都外国语学校
- 多少人错把好转反应当成了病情加重处理
- 中外广播电视史复习资料整理
- 江苏省扬州市江都区宜陵镇中学2014-201
- 工程造价专业毕业实习报告
- 广西师范学院心理与教育统计
- aympkrq基于 - asp的博客网站设计与开
- 建筑业外出经营相关流程操作(营改增后
- 人治 德治 法治
- [精华篇]常识判断专项训练题库
- 中国共产党为什么要实行民主集中
- 小学数学第三册第一单元试卷(A、B、C




