devi into python 笔记(二)元组 变量声明 和列表解析
元组tuple:
类似list,只是tuple是不可变的list。类似java的String都是不可改变的。注意:tuple没有方法(有待考证),不可以像list那样那个list.pop 或者list.append()等操作。
但是可以用 in 来判断一个元素是否在tuple中:
mytuple = ('a', 'b', 'c')
print 'a' in mytuple, 'd' in mytuple
tuple与list相比较:
tuple更安全,提供了“写保护”,当想要一组只用来遍历的数据时推荐使用tuple。
tuple可做dictionary的key,但是list不行,因为dictionary要求key是不可变得。
===============================
变量声明:
一次赋多值:
#这里a b c仅仅是变量名
(a, b, c) = (1, 2, 3)
另外应用到range()函数:
#这里Mon Tue都是变量名
(Mon, Tue, Wed, Thu, Fri, Sat, Sun) = range(7)
range()接受一个数值,返回从0起到n-1的list。
===============================
格式化字符串:
注意这个写法:
#当使用只包含一个元素的tuple的时候,要在元素后面加上逗号,告诉python这是一个tuple,而不是加了括号的变量。
" my name is %s " % (name, )
%f格式符:
对应十进制浮点数,默认打印到小数点后6位。相关的有 %.2f 打印两位小数; %+.2f打印
join() split():
字符串join split 两者正好相反,互逆。join按照规则把list连接成字符串,split按规则把字符串分割成list
mylist = ['a', 'b', 'c']
mylist_str = ";".join(mylist)
#打印出来一看,一样的
print mylist_str.split(';'), mylist #split还能接受一个可选参数,第二个参数规定了分割次数
print mylist_str.split(';', 1) #如果不给任何参数,split默认是按照 空白 分割的。
#好处是可以结合join来统一字符串中的空白
mystr = "aaa\nbbb ccc\t ddd"#\n换行 \t制表符,都属于空白
mystr2 = ' '.join(mystr.split())
print mystr, mystr2 #ljust 向字符串末尾填充空格来补齐。字符串长度大于给定长度则不改动,小于则用空格补齐
#如用上面的mystr2举例
print mystr2.ljust(50)
print mystr2.ljust(10)
========================
重点:映射list 或称 list解析
mydic = {'one':'a',
'two':'b',
'three':'c',}
#items返回一个形如 [(k1, v1), (k2, v2),...]的,以tuple为元素的list
print mydic.items()
#for循环每次循环拿出mydic.items()中的一个元素(也就是一个tuple,里面放的是k, v),分别赋值给kk,vv
#然后保存给最外层的list中,然后继续下一次循环,直到遍历完mydic.items()
print [kk for kk, vv in mydic.items()]
print [vv for kk, vv in mydic.items()]
列表过滤: 在列表解析的基础上添加了筛选条件。
l = ['a', 'b'. 'c']
l2 = [l2 for l2 in l if l2=='c']#表示如果遍历的元素是 c 那就留下,否则不要
print l2 l3 = [l3 for l3 in l if l3 != 'c']#表示如果遍历的元素不是 c 那就留下,否则不要
print l3
devi into python 笔记(二)元组 变量声明 和列表解析的更多相关文章
- Go语言学习笔记二: 变量
Go语言学习笔记二: 变量 今天又学了一招如何查看go的版本的命令:go version.另外上一个笔记中的代码还可以使用go run hello.go来运行,只是这种方式不会生成exe文件. 定义变 ...
- python基础深入(元组、字符串、列表、字典)
python基础深入(元组.字符串.列表.字典) 一.列表 1.追加 >>>list = [1,2,3,4] #用于在列表末尾添加新的对象,只能单个添加,该方法无返回值,但是会修改原 ...
- python笔记二(数据类型和变量、编码方式、字符串的编码、字符串的格式化)
一.数据类型 python可以直接处理的数据类型有:整数.浮点数.字符串.布尔值.空值. 整数 浮点数 字符串:双引号内嵌套单引号,可以输出 i'm ok. 也可以用\来实现,\n 换行 \t tab ...
- python笔记:#008#变量的命名
变量的命名 目标 标识符和关键字 变量的命名规则 0.1 标识符和关键字 1.1 标识符 标示符就是程序员定义的 变量名.函数名 名字 需要有 见名知义 的效果,见下图: 标示符可以由 字母.下划线 ...
- python笔记:#007#变量
变量的基本使用 程序就是用来处理数据的,而变量就是用来存储数据的 目标 变量定义 变量的类型 变量的命名 01. 变量定义 在 Python 中,每个变量 在使用前都必须赋值,变量 赋值以后 该变量 ...
- python笔记二
一 运算符 1算术运算+ - * / % ** //其中%为取余,**为取幂如2**10=1024 9//4=2 需要注意的是python2.7中如9/2=4 需要正确表示,则在开头添加 fr ...
- Python笔记(二)
python笔记 函数式编程 函数 函数是Python内建支持一种封装(将大段代码拆成函数) 通过函数的调用,可以将复制的任务分解. 函数式编程(Functional Programming) 计算机 ...
- python学习笔记(二)---for循环与操作列表
内容概要 for循环 range(start,end,step)函数 生成随机数列表 list()函数 将range()的结果整合到某个列表 列表的操作 切片(start: end :step) 元组 ...
- Python(五)之迭代器和列表解析
Python迭代器和列表解析 迭代器 例如: In [1]: l1 = [1,2,3,4,5] dir(i1)可以看到内置方法'__iter__' 生成一个迭代器: l1.__iter__,或i2 = ...
随机推荐
- 节点插入--对比jQuery和JavaScript方法(一)
二.插入元素: 1 <div> 2 <p>面朝大海,春暖花开</p> 3 </div> (一).jQuery方法 1.在节点内部插入: 方法 说明 ap ...
- myeclipse启动报JVM terminated. Exit code=1
报错信息如图: 解决办法: 删除当前workspaces下文件夹,路径为:%Workspaces%/.metadata/.plugins/org.eclipse.core.runtime
- ubuntu上 安装 基于sphinx 的 coreseek 全文搜索
原生sphinx不支持中文, sphinx-for-chinese匹配中文时也不返回结果 ,真纠结, 最好试了 coreseek,这个能正确返回结果了, 所以记录一下 1 http://www.co ...
- mysql主从 1050错误
在mysql从库上查询时出现如下错误 ...................... Last_Errno: 1050 Last_Error: Error 'Tab ...
- Python中的redis学习笔记
redis是一个key-value结构的数据库,value的格式可以使string,set,list,map(即python里面的dict),sorted set(有序集合) 1.初始化 1)直接连接 ...
- CCTV评论员评论步行者与奇才的比赛
步行者客场迎战主场作战的奇才,奇才的战士可能由于过度兴奋或是过度紧张身体僵硬,本来能打进的球都失掉了.反而,由于步行者取得了两位数的领先,越大心情越放松,打出了过去很少见的流畅局面. CCTV评论员就 ...
- Mac下获取AppStore安装包文件路径
通过远在大洋彼岸的苹果服务器下载东西,确实有够慢啊!AppStore更甚:甚至都经常提示连不上服务器,而有些软件呢,还必须从AppStore下载安装,所以没办法,谁让上了苹果的贼船呢!公司的网速更是不 ...
- 用19种编程语言写Hello World
用19种编程语言写Hello World 转载自:http://www.admin10000.com/document/394.html Hello World 程序是每一种编程语言最基本的程序,通常 ...
- delphi xe5 android 开发实现手机打电话和发短信
转载自 http://www.raysoftware.cn/ 其实都可以通过intent和URI调用系统功能.Windows程序员可以理解成是ShellExecute.这个是万金油.可以有调用各种功 ...
- hbase rowkey设计的注意事项
充分利用有序性 1.1 如果要scan操作,且不是很频繁,可以利用rowkey的有序性将需要一起扫描的数据放到一起.例如直接用时间戳.这样就可以按时间scan了.这个只要是简单的全表扫描都行. 1.2 ...