[python笔记][第二章Python序列-list]
2016/1/27学习内容
第二章 Python序列-list
list常用操作
list.append(x)
list.extend(L)
list.insert(index,x)
list.remove(x)
删除在列表中首次出现的指定元素x
list.pop([index])
删除并返回列表对象指定位置的元素,默认为最后一个元素
list.clear()
list.index(x)
返回第一个值为x的元素的下标,若不存在值为x的元素则抛出异常
list.count(x)
返回指定元素x在列表中出现的次数
list.reverse()
对列表元素进行原地翻转
list.sort()
对列表元素进行原地排序
list.copy()
对列表对象的浅复制.
append比’+’运算快很多
使用乘法扩展列表对象
千万要小心
当使用*运算符将包含列表的列表进行重复并创建新列表时,并不创建元素的复制,而是创建已有对象的引用。因此,当修改其中一个值时,对应的引用也会被修改。
例如:
x=[[1,2,3]]*3;
x[0][0]=10;
print(x);
[[10, 2, 3], [10, 2, 3], [10, 2, 3]]
成员资格判断
in
not in
切片
浅赋值
是切割后创建一片新的内存放置
利用切片原地操作
x=[1,2,3]*3;
x[1:2:]=[10];
print(x);
x[::2]=[0]*((len(x)+1)//2);
print(x);
[1, 2 , 3, 1, 2, 3, 1, 2, 3]
[1, 10, 3, 1, 2, 3, 1, 2, 3]
[0, 10, 0, 1, 0, 3, 0, 2, 0]
也可以结合del操作
x=[1,2,3]*3;
del x[::2];
print(x);
列表排序
random.shuffle(list)
打乱lsit顺序
逆序
list.sort(reverse=Ture)
自定义排序 以后学习
sorted(list,reverse=Ture)
内联的逆序排序
enumerate(列表)
枚举列表,元组或其他可迭代对象的元素,返回枚举类型,枚举对象中每个元素是包含下标和元素值的元组。对字典得到的是建值。
x=[1,2,3,4,5,6,7];
for i,value in enumerate(x):
print(i,value);
列表推倒式
- [Expression for Variable in list]
- 也就是:[ 表达式 for 变量 in 列表]
- 如果需要加入if条件语句则是:[表达式 for 变量 in 列表 if 条件]
- 如果表达式中需要if else 语句则是 [表达式 if 条件 else 表达式 for 变量 in 列表 if 条件]
- 如果表达式有两个元素 语句则是[(表达式,表达式) for x in 列表 for y in 列表 if 条件]
几个精彩的用法
列表推导实现嵌套列表的平铺
vec = [[1,2,3],[4,5,6],[7,8,9]]
a=[num for elem in vec for num in elem]
print(a)
[1, 2, 3, 4, 5, 6, 7, 8, 9]
列表推倒实现矩阵转置
matrix=[[1,2,3,4],[5,6,7,8],[9,10,11,12]];
[[row[i] for row in matrix] for i in range(4)]
[[1, 5, 9], [2, 6, 10], [3, 7, 11], [4, 8, 12]]
使用列表推导式生成100以内的所有素数
import math
[p for p in range(2,100) if 0 not in [p%d for d in range(2,int(math.sqrt(p))+1)]]
[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]
[python笔记][第二章Python序列-list]的更多相关文章
- [Python笔记][第二章Python序列-复杂的数据结构]
2016/1/27学习内容 第二章 Python序列-复杂的数据结构 堆 import heapq #添加元素进堆 heapq.heappush(heap,n) #小根堆堆顶 heapq.heappo ...
- [Python笔记][第二章Python序列-tuple,dict,set]
2016/1/27学习内容 第二章 Python序列-tuple tuple创建的tips a_tuple=('a',),要这样创建,而不是a_tuple=('a'),后者是一个创建了一个字符 tup ...
- Python笔记·第二章—— Python的编码问题(一)
一.什么是编码 可以说,计算机是一个即聪明又笨蛋的家伙.说它聪明,是因为他可以做很多事情,它的强大无需多说,大家应该都有所了解以及感受.但是为什么说它又是个笨蛋呢,因为我们在电脑上写出的每一个字,保存 ...
- [Python笔记][第一章Python基础]
2016/1/27学习内容 第一章 Python基础 Python内置函数 见Python内置函数.md del命令 显式删除操作,列表中也可以使用. 基本输入输出 input() 读入进来永远是字符 ...
- Python笔记·第一章—— Python基础(一)
一.Python的简介 1.Python的由来与版本 1.1 python的由来 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆(中文 ...
- Python自学:第二章 Python之禅
>>print import <Python之禅>,提姆·彼得斯著 美胜于丑. 显式优于隐式. 简单胜于复杂. 复杂总比复杂好. 平的比嵌套的好. 稀疏胜于稠密. 可读性计数. ...
- 第二章Python入门
第二章 Python入门 2.1.简介 Python是著名的"龟叔"(Guido van Rossum)在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言 Pytho ...
- Android群英传笔记——第二章:Android开发工具新接触
Android群英传笔记--第二章:Android开发工具新接触 其实这一章并没什么可讲的,前面的安装Android studio的我们可以直接跳过,如果有兴趣的,可以去看看Google主推-Andr ...
- 《DOM Scripting》学习笔记-——第二章 js语法
<Dom Scripting>学习笔记 第二章 Javascript语法 本章内容: 1.语句. 2.变量和数组. 3.运算符. 4.条件语句和循环语句. 5.函数和对象. 语句(stat ...
随机推荐
- QOdbc 读写 excel
).toString(); ).toInt(); qDebug()<< name << age <<endl; } // 关闭数据库 db.close(); } i ...
- js校验
判空 function check(s) { return (s == null || typeof (s) == "undefined" || s == "" ...
- Android 打造自己的个性化应用(五):仿墨迹天气实现续--> 使用Ant实现zip/tar的压缩与解压
上一篇中提到对于Zip包的解压和压缩需要借助Ant 实现,我经过参考了其他的资料,整理后并加上了一些自己的看法: 这里就具体地讲下如何使用Ant进行解压缩及其原因: java中实际是提供了对 zip ...
- zabbix-check of pre-requisites
LAMP搭建完成后,访问http://ip/zabbix,在检查环境界面,有的检查项目提示fail.常见如下:zabbix:Check of pre-requisites1.PHP bcmath fa ...
- SQL内连接-外连接join,left join,right join,full join
1.创建测试表test1及test2 SQL)); 表已创建. SQL)); 表已创建. ,'name1'); ,'name2'); ,'name3'); ,'name4'); ,'name5'); ...
- iOS开发 数据库FMDB
iOS开发 数据库FMDB 1.简介 需求作用: 如果需要保存大量的结构较为复杂的数据时候, 使用数据库, 例如交规考试项目 常用的数据库: (1)Microsoft SQL Server 2000 ...
- 转:Dictionary<int,string>怎么获取它的值的集合?急!急!急!
怎么获取Dictionary<int, string>的值?我知道这个是键值对的,我知道可以根据key得到value,但关键是现在连key也不知道啊就是想让这个显示在listbox中,应该 ...
- poj1716 Integer Intervals(差分约束)
转载请注明出处: http://www.cnblogs.com/fraud/ ——by fraud Integer Intervals Time Limit: 1000MS Me ...
- Random获得的随机数怎么样减少重复率
C#中的Random在获得随机数的时,如果你想要随机循环取得100个随机数则使用如下代码会出现大量的重复数字.代码如下: using System; namespace ConsoleApplicat ...
- C语言--关键字 typedef
一.typedef 1.基本使用 1> typedef 在基本数据类型中的使用 typedef int MyInt; // 相当于给 int 起了一个别名 typedef MyInt MyInt ...