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]的更多相关文章

  1. [Python笔记][第二章Python序列-复杂的数据结构]

    2016/1/27学习内容 第二章 Python序列-复杂的数据结构 堆 import heapq #添加元素进堆 heapq.heappush(heap,n) #小根堆堆顶 heapq.heappo ...

  2. [Python笔记][第二章Python序列-tuple,dict,set]

    2016/1/27学习内容 第二章 Python序列-tuple tuple创建的tips a_tuple=('a',),要这样创建,而不是a_tuple=('a'),后者是一个创建了一个字符 tup ...

  3. Python笔记·第二章—— Python的编码问题(一)

    一.什么是编码 可以说,计算机是一个即聪明又笨蛋的家伙.说它聪明,是因为他可以做很多事情,它的强大无需多说,大家应该都有所了解以及感受.但是为什么说它又是个笨蛋呢,因为我们在电脑上写出的每一个字,保存 ...

  4. [Python笔记][第一章Python基础]

    2016/1/27学习内容 第一章 Python基础 Python内置函数 见Python内置函数.md del命令 显式删除操作,列表中也可以使用. 基本输入输出 input() 读入进来永远是字符 ...

  5. Python笔记·第一章—— Python基础(一)

    一.Python的简介 1.Python的由来与版本 1.1 python的由来 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆(中文 ...

  6. Python自学:第二章 Python之禅

    >>print import <Python之禅>,提姆·彼得斯著 美胜于丑. 显式优于隐式. 简单胜于复杂. 复杂总比复杂好. 平的比嵌套的好. 稀疏胜于稠密. 可读性计数. ...

  7. 第二章Python入门

    第二章 Python入门 2.1.简介 Python是著名的"龟叔"(Guido van Rossum)在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言 Pytho ...

  8. Android群英传笔记——第二章:Android开发工具新接触

    Android群英传笔记--第二章:Android开发工具新接触 其实这一章并没什么可讲的,前面的安装Android studio的我们可以直接跳过,如果有兴趣的,可以去看看Google主推-Andr ...

  9. 《DOM Scripting》学习笔记-——第二章 js语法

    <Dom Scripting>学习笔记 第二章 Javascript语法 本章内容: 1.语句. 2.变量和数组. 3.运算符. 4.条件语句和循环语句. 5.函数和对象. 语句(stat ...

随机推荐

  1. [SASS] Make a responsive arrow box

    Check the page:http://www.cssarrowplease.com/ In HTML: {{type}} is tow way binding in Angular, three ...

  2. 连数据库是ODBC好还是OLEDB好

    1.连数据库是ODBC好还是OLEDB好?2.是不是只有微软的数据库才可以用OLEDB?3.要切换这两种连接,是不是只需要修改连接字符串?谢谢大家了,小弟对这三个问题不解 分享到:   2009-03 ...

  3. ORA-25154/ORA-01748

    SQL> select oi.order_id,product_id,order_date from order_items oi join orders o using(order_id) w ...

  4. Https协议简析及中间人攻击原理

    1.基础知识 1.1 对称加密算法 对称加密算法的特点是加密密钥和解密密钥是同一把密钥K,且加解密速度快,典型的对称加密算法有DES.AES等                              ...

  5. MySql命令——show,分页,正则表达式

    先要安装MySql,过程见 MySql5.1在Win7下的安装与重装问题的解决 不是教程,还没有写教程的资格,只是为了自己查阅而已!   show show databases; //显示所有数据库 ...

  6. JavaScript --------------继前面继承方式-------总结

    创建对象方式: 工厂模式:使用简单的函数创建对象,为对象添加属性和方法,然后返回对象: function createPerson(name,age,job){ var o = new Object( ...

  7. SQL Server 2008 geometry 数据类型

    摘自SQL Server 2008帮助 平面空间数据类型 geometry 是作为 SQL Server 中的公共语言进行时 (CLR) 数据类型实现的.此类型表示欧几里得(平面)坐标系中的数据. 注 ...

  8. varchar和Nvarchar的区别

    (1)varchar(N) 存储时 N的单位是字节  比如说varchar(2)  代表的是  该字段可以存储字节长度为2的数据 例子:可以添加  张 或者 ab  添加成功! 但添加的时候如果是: ...

  9. python调用ice接口

    今天用python调用ice接口,遇到如下提示 ImportError: No module named Ice 解决方案是 set PYTHONPATH=C:\Program Files\ZeroC ...

  10. yii2 打印sql语句

    echo $temp_chat_query->createCommand()->getRawSql();