python教程/学习笔记(6)
>>>all('123') True
>>>all([0, 1]) False
>>>all([1, 2]) True
4.2.7.列表解析 在一个序列的值上应用一个任意表达式,将其结果收集到一个新的列表中并返回。它的基本形式是一个方括号里面包含一个for语句对一个iterable对象迭代 例如:
>>> res=[ord(x) for x in 'spam'] >>> res
[115, 112, 97, 109]
>>> [x**2 for x in range(10)] [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
对列表迭代时也可以加上条件:
>>> doubled_odds = [n * 2 for n in numbers if n % 2 == 1]
4.3.元组(元组是不可变的)
4.3.1.用逗号分隔开一些值可以自动创建元组,例如:>>>1,2,3 得到 (1,2,3) 4.3.2.元组大部分情况通过圆括号括起来:>>>(1,2,3)得到 (1,2,3)
一个值的元组,加个逗号实现:>>>42, 得到 (42,) 或者>>>(42,) 得到 (42,) 4.3.3.tuple函数可以把任意序列转换为元组。例如:>>>tuple([1,2,3]) 得到 (1,2,3) 4.3.4.基本元组操作——创建元组,访问元组,其他没了。 >>>x=1,2,3
>>>x[1] 得到2 >>>x[0:2] 得到(1,2) 4.3.5元组存在的意义:
第一,元组在映射(和集合的成员)中可以当做键使用,而列表不行。 第二,一些方法和函数的返回值是元组。 4.4.字符串(不可变) 4.4.0.Python值转为字符串有三种方式,str, repr, 反引号(与repr相同,可忽视)。str让字符串更易读。repr让字符串转换为合法的Python值。
4.4.1字符串基本操作:所有标准的序列操作(索引、分片、乘法、判断成员资格,求长度,取最小值和最大值),但由于字符串不可变,类似分片赋值什么的并不合法。 4.4.2.字符串格式化操作符(%)只适用于字符串类型 4.4.2.1操作符(%)只适用于字符串类型
4.4.2.2.将需要与不需要格式化的字符(需要部分设为a)输入同一个字符串b,例如: b='hello, %s. %d enough for you?' a=('world',9) print b % a
hello, world. 9 enough for you?
#格式化字符串时,python使用字符串b作为模板,%s与%d为两个格式符,a为一个tuple值(元组),模板和Tuple之间有一个分隔符%,它代表了格式化操作。 4.4.2.3.字符串格式化符号(转义字符号) %s 字符串 (采用str()的显示) %r 字符串 (采用repr()的显示) %c 单个字符 %b 二进制整数
%d / %i 十进制整数 %o 八进制整数 %x 十六进制整数 %e 指数 (基底写为e) %E 指数 (基底写为E) %f /%F 浮点数
%g 指数(e)或浮点数 (根据显示长度) %G 指数(E)或浮点数 (根据显示长度) %% 输出字符\4.4.2.4.辅助符号: 辅助符号 - + 0 # m.n *
说明
靠左对齐(不给左边留空格) 表示给数字加上正负号
若转换值位数不够,显示的数字前面填充“0”
在八进制数前面显示零(0),在十六进制前面显示“0x”或者“0X”(取决于用的是“x”还是“X”)
m 是显示的最小总宽度,n 在转换实数时表示小数点后的位数(在表示字符串时表示最大字段宽度)
定义宽度或者小数点精度。用法示范\
4.4.2.5.辅助符号与字符串格式化符号的顺序: (1)%符号,表示转换说明符的开始。(2)转换标志(可选)-,+,\\。(3)最小字段宽度,若加*,宽度值从元组中读出(可选)。(4)点.与后面跟的精度值(可选),若加*,宽度值从元组中读出。(5)转换类型d,s啥的...... 4.4.2.6.字段宽度,点号,精度与星号的用法举例: from math import pi
>>>'F' % pi # 字段宽10 结果为' 3.141593' >>>'.2f'%pi # 字段宽10,精度2 结果为' 3.14' >>>'%.2f'%pi # 精度2结果为'3.14'
>>>'%.5s'%'guido van rossum' #字段宽5 结果为'guido'
>>> '%5s'%'guido van rossum' #字段宽不小于5 结果为'guido van rossum' 4.4.2.7.正负号和0的用法举例:
在字段宽度和精度值前面可以放置0.加减号或空格。 0表示字符串内有空格时用0来填充。 >>>'0.2f'%pi
'0000003.14' # 表示字段宽度为10,并且用0填充空位
4.4.2.8.应用总范例,做一个物价表:pdf page66 4.4.2.9.希望反斜线不产生转义功能的方法: (1).用双反斜线\\\\
(2).在字符串前加r,表示原始字符串。
4.4.3.字符串方法:
(1).find:在一个字符串a='...'中找某个字符串'b...':a.find('b...'),存在的话返回最左端索引的位置,不存在的话返回-1.
a.find('b...',1)表示从下标1开始查找。 rfind表示从末尾开始查找
(2).join(split的逆方法):在队列a的各元素之间中添加同一个元素c='b' c.join(a)或者'b'.join(a)
(3).lower全改为小写:a='Gumpy',b=a.lower(),则结果为gumpy. (4).replace:把字符串a中所有的'b'替换为'c':a.replace('b','c')
(5)split(join的逆方法):以某种分隔符(或元素)为断点来把原字符串分割成字符串序列: a='1+1+2+1+3'
a.split('+') 结果是['1', '1', '2', '1', '3']# 字符串中每出现一个\就断开产生新元素 a.split('1')结果是['', '+', '+2+', '+3'] # 以'1'为分隔符
(6).strip去除字符串两边的指定字符(默认删除多余的字符空格、\\n换行、\\r回车、\\t横向制表符):
a=' gumpy ',b=a.strip(),结果为gumpy.
'*!!!***!*d79*hiy!8*!!!*!**!!*!'.strip('*!')结果为'd79*hiy!8' 4.4.4. String模块中的常量: string.digits:数字0~9
string.letters:所有字母(大小写) string.lowercase:所有小写字母
string.printable:可打印字符的字符串 string.punctuation:所有标点 string.uppercase:所有大写字母 应用举例:
>>> import string >>> string.digits '0123456789' 4.5.字典 4.5.1简介:列表是通过编号对值进行引用的数据结构。
而映射是通过名字引用值的数据结构。字典是python中唯一的映射类型。 字典中的值没有特定顺序,储存在键(key)里,键可以是数字、字符串、元组 4.5.2.字典:phonebook={'alice':'2341','beth':'9102','cecil':'3258'} 字典中每一项由键,冒号和值组成,项之间用逗号隔开。空字典没有项,只有大括号。 4.5.3.创建字典的三种方法: (1)直接用{}写,例如: >>> dict1={}
>>> dict1[1]=213768 >>> dict1['1']=213 >>> dict1
{'1': 213, 1: 213768}
(2)用dict函数:通过(键,值)或[键,值]组成项,项组成元组或序列,把此元组或序列放到dict函数中。例如: y=((\
x = dict(y)得到结果{'a': '1', 'b': '2'} # 共有2*2=4中选择,只记住元组套元组就够了吧 (3)以映射为dict()的参数: >>> x = dict(a=\
>>> print x结果为{'a': '1', 'b': '2'}
(4)用方法fromkeys() 来创建一个\默认\字典, 字典中元素具有相同的值 (如果没有给出,默认为None),例如:
>>> ddict = {}.fromkeys(('x', 'y'), -1) >>> ddict 结果为{'y': -1, 'x': -1} >>> edict = {}.fromkeys(('foo', 'bar'))
>>> edict结果为{'foo': None, 'bar': None} 4.5.4.如何访问字典中的值 (1)用for循环遍历,比如: >>>dict1={'name': 'earth', 'port': 80} >>>for key in dict:
print' key=%s, value=%s' % (key,dict1[key]) …… 此处隐藏:3724字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [高等教育]公司协助某村精准扶贫工作总结.doc
- [高等教育]高二生物知识点总结(全)
- [高等教育]苏教版数学三年级下册《解决问题的策略
- [高等教育]仪器分析课程学习心得
- [高等教育]2017年五邑大学数学与计算科学学院333
- [高等教育]人教版七年级下册语文第四单元测试题(
- [高等教育]2018年秋七年级英语上册Unit7Howmuchar
- [高等教育]2017年八年级下数学教学工作小结
- [高等教育]湖南省怀化市2019届高三统一模拟考试(
- [高等教育]四年级下册科学_基础训练及答案教材
- [高等教育]城郊煤矿西风井管路伸缩器更换施工安全
- [高等教育]昆八中20182019学年度上学期期末考试
- [高等教育]项目部各类人员任命书
- [高等教育]上市公司经营水务产业的模式
- [高等教育]人教版高二化学第一学期第三章水溶液中
- [高等教育]【中考物理第一轮复习资料】四.压强与
- [高等教育]金坑水电站报废改建工程机电设备更新改
- [高等教育]高中生物教学工作计划简易版
- [高等教育]2017年西华大学攀枝花学院(联合办学)44
- [高等教育]最新整理超短爆笑英文小笑话大全
- 优秀教师继续教育学习心得体会
- 阳历到阴历的转换
- 留守儿童教育案例分析
- 华师17春秋学期《玩教具制作与环境布置
- 测速传感器新型安装装置的现场应用
- 人教版小学数学三年级下册第四单元
- 创业个人意向书
- 山东省潍坊市2012年高考仿真试题(三)
- [恒心][好卷速递]四川省成都外国语学校
- 多少人错把好转反应当成了病情加重处理
- 中外广播电视史复习资料整理
- 江苏省扬州市江都区宜陵镇中学2014-201
- 工程造价专业毕业实习报告
- 广西师范学院心理与教育统计
- aympkrq基于 - asp的博客网站设计与开
- 建筑业外出经营相关流程操作(营改增后
- 人治 德治 法治
- [精华篇]常识判断专项训练题库
- 中国共产党为什么要实行民主集中
- 小学数学第三册第一单元试卷(A、B、C




