列表及列表解析
发现要到2013了,这两个月,离职入职,忙七忙八的,博文少了好多,笔记到是一大堆。
最近开始整理书签,微博收藏以及笔记梳理
采用删的方式,就是在evernote中新建一片,然后捞对应的笔记,一点点总结梳理,删除原有的笔记,发现这样效率高些(原来是在原有笔记之上直接修改总结,发现有用的信息其实并不多,效率有点低)
相对而言比较全和有用,会持续优化。
2013,发完这个系列的博客之后,将会整个博客迁移到自己的博客(刚开始写…),后续将同步吧,不过csdn可能会慢一些,自己blog会更自由些。后续将会是python&框架,linux后台开发,Go等等其他。
不扯了,看正题
以下是对列表笔记梳理的第一个版本,仅供参考
资料来源于书籍,网络,个人练习等等
1 2 3 4 5 |
#author:wklken #version: 1.0 #date: 2012-12-30 #history: 2012-12-30 created |
定义:
列表是Python中使用最频繁的数据类型【可以说没有之一】
关键词:有序,可变
1 2 3 4 5 |
>一组有序项目的集合 >可变的数据类型【可进行增删改查】 >列表中可以包含任何数据类型,也可包含另一个列表【可任意组合嵌套】 >列表是以方括号“ []”包围的数据集合,不同成员以“ ,”分隔 >列表可通过序号访问其中成员 |
查看帮助 : help(list)
常见的列表操作
声明&创建
1 2 3 4 5 6 |
l = [] #空列表 l = [1, 2, 3, 4] l = [1, 'a', [2,3] ] l = list('hello') #得到 ['h', 'e', 'l', 'l', 'o'] l = list(range(4)) #[0, 1, 2, 3] l = '1,2,3,4,5'.split(',') #['1', '2', '3', '4', '5'] |
内建函数list(a_sequence) 可以将一个序列转为列表
通过下标访问
1 2 |
>>>l = [1, 2, 3, 4] >>>l[0] #1 |
增加元素
A.新加入一个元素append
append方法添加。它在原列表末尾添加一个 item, item类型可以是任意的
1 2 3 |
l = [1, 2, 3] l.append('hello') #得到 [1, 2, 3, 'hello'] l.append(['hello']) #得到 [1, 2, 3, 'hello', ['hello']] |
B.插入一个元素insert
1 2 |
l1 = [1, 2, 3] l1.insert(1,9) #[1, 9, 2, 3] |
C.两个列表相加
两种方式
第一种
1 2 |
l1 = [1, 2, 3] l3 = l1 + [4, 5, 6] #这种方式,l1不变,二者返回新的列表,当列表很长时,会消耗大量内存 |
第二种(必须接收一个参数,且是另一个列表)
1 |
l1.extend([4, 5, 6]) #直接扩增l1 |
等价的做法
1 |
l1 += [4,5,6] |