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 = ...
随机推荐
- 注释玩转webapi
using System; using System.Collections.Generic; using System.Net.Http.Formatting; using System.Web.H ...
- 九度OJ 1076 N的阶乘 -- 大数运算
题目地址:http://ac.jobdu.com/problem.php?pid=1076 题目描述: 输入一个正整数N,输出N的阶乘. 输入: 正整数N(0<=N<=1000) 输出: ...
- awk 查找文件长度 删除
#在某个目录下,由于有些是缓存文件,它们的共同点就是长度大于3, 找到它们,然后用rm 命令删除#ls abc.pyabcd.py.... #ls | awk 'length($1) > 3 { ...
- 《APUE》第三章笔记(3)
文件共享 UNIX系统支持在不同进程中共享打开的文件,首先先用一幅apue的图来介绍一下内核用于I/O文件的数据结构: 如图所见,一个进程都会有一个记录项,记录项中包含有一张打开文件描述符表,每个描述 ...
- jquery 多级无限分类
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...
- C#基础(一)——C#中反斜杠/n与/r的区别
最近在公司实习的过程中,遇到了字符串换行的问题,百度了一下,发现字符串换行的问题还挺多,总结一下最基本的点,以防忘记. \n—>换行符(New Line),作用为换行符后面的字符串显示到“下一行 ...
- 再看JavaScript线程
继上篇讨论了一些关于JavaScript线程的知识,我们不妨回过头再看看,是不是JavaScript就不能多线程呢?看下面一段很简单的代码(演示用,没考虑兼容问题): 代码判断一: <div i ...
- [转]maven插件的开发
原文链接: http://clojure.iteye.com/blog/1124188 另一篇文章 http://blog.csdn.net/csfreebird/article/details/77 ...
- angularjs制作的iframe后台管理页切换页面
<code> <!DOCTYPE html><html lang="zh" ng-app><head> <meta chars ...
- Sublime Text 3 插件、主题、配置
换电脑,Sublime Text 3 重新配置一遍,做个记录 1. 下载:http://www.sublimetext.com/3 2. 插件管理器 Package Control (Ctrl + ` ...