在操作列表或者元组的时候,对一系列的数据进行算法,比较整个数据加1,或翻倍,用传统的算法就很繁琐,列表给我们提供简便的方法 a=[i*i for i in rang(10)] a=[1,4,9,16,25.....] 其作用 把多行语句转换为 一行 文章来自 www.96net.com.cn…
题目: 已知列表list=["pYTHON","iS",eASY],要求使用列表生成式实现,生成一个新的列表,要求将大写字母转换为小写字母,小写字母转换为大写字母. swapcase介绍: 作用:Python swapcase()方法用于对字符串的大小字母进行转换. 用法:swapcase()语法:str.swapcase() 返回值:返回大小字母转换后生成的新字符串. list=["pYTHON","iS","eA…
1.生成列表 要生成list [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],我们可以用range(1, 11): >>> range(1, 11) [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 但如果要生成[1x1, 2x2, 3x3, ..., 10x10]怎么做?方法一是循环: >>> L = [] >>> for x in range(1, 11): ... L.append(x * x) ... >&g…
python基础 生成式 列表生成式 格式 [表达式 for 表达式 in 迭代对象 (可加判断)] 原: res1 = [] for i in range(1,5): res1.append(i) print(res1) 改: res2 = [i for i in range(1,5)] print(res2) 字典生成式 格式 {key:value for 表达式 in 迭代对象 (可加判断)} a = "adasdsasad" b = "asdasdasdg"…
python中有两个类似的:pickle与cPickle:两者的关系:“cPickle – A faster pickle” pickle模块中的两个主要函数是dump()和load().dump()函数接受一个文件句柄和一个数据对象作为参数,把数据对象以特定的格式保存到给定的文件中.当我们使用load()函数从文件中取出已保存的对象时,pickle知道如何恢复这些对象到它们本来的格式. cPickle可以对任意一种类型的python对象进行序列化操作,比如list,dict,甚至是一个类的对象…
avilable_foods=["soup","beaf","noddle","pepper"] request_foods=["soup","rice","beaf","suggar"] for request_food in request_foods: if request_food in avilable_foods: print(&quo…
列表 list:用中括号括起来,用“,”分割每个元素,列表中的元素可以是 数字.字符串.列表.布尔值......所有东西,可以说就是一个“集合” li = [1,3,5,'alex','age',['sister',5],True] 列表是有序的 支持用索引.切片的方式取值 支持 for.while循环 列表元素是可以用索引.切片的方式进行修改和删除的 li = [1,3,5,'alex','age',['sister',5],True] li[1] = 10 print(li) li[4] =…
列表 切片 中括号,逗号分隔,可以一次取出多个元素,起始位置包括,结束位置不包括(顾头不顾尾) 如果取最后一个,而且不知道列表长度,可以使用负数(-1是最后一个,以此类推) 如果取最后几个,记住从左往右数着取值,顾头不顾尾,所以如果取最后两个应该是[-2:] 从前取,如果是从0 开始,也可以省略 追加元素 a_list.append(value) 插入元素到任意位置 a_list.insert(index,value) 修改元素 a_list[index]=value 删除元素 a_list.r…
python学习第四次记录 列表list 列表可以存储不同数据类型,而且可以存储大量数据,python的限制是 536870912 个元素,64位python的限制是 1152921504606846975 个元素.列表是有序的,有索引值,可切片,方便取值. 列表的创建 # 创建一个列表有三种方式: # 方式一:(常用) l1 = [1, 2, '哈哈'] # 方式二:(不常用) l1 = list() # 空列表 # l1 = list(iterable) # 可迭代对象 l1 = list(…
审时度势 PySpider 是一个我个人认为非常方便并且功能强大的爬虫框架,支持多线程爬取.JS动态解析,提供了可操作界面.出错重试.定时爬取等等的功能,使用非常人性化. 本篇内容通过跟我做一个好玩的 PySpider 项目,来理解 PySpider 的运行流程. 招兵买马 具体的安装过程请查看本节讲述 安装 嗯,安装好了之后就与我大干一番吧. 鸿鹄之志 我之前写过的一篇文章 抓取淘宝MM照片 由于网页改版,爬取过程中需要的 URL 需要 JS 动态解析生成,所以之前用的 urllib2 不能继…
Python 数据结构 本章介绍 Python 主要的 built-type(内建数据类型),包括如下: Numeric types          int float Text Sequence Type     str Boolean                bool Sequence  Types        list tuple range Set Types              set Mapping Types          dict type() 函数 type…
目录 python学习第四讲,python基础语法之判断语句,选择语句,循环语句 一丶判断语句 if 1.if 语法 2. if else 语法 3. if 进阶 if elif else 二丶运算符详解 1 逻辑运算 2 条件运算符. 3.赋值运算符 4.运算符的优先级 (了解) 三丶循环语句详解 1.了解程序执行流程 2.while循环语法以及使用 3.循环中break与continue关键字的使用 4.while实例,使用while打印9*9乘法表 5.转义字符简介 python学习第四讲…
Python学习小技巧之列表项的排序 本文介绍的是关于Python列表项排序的相关内容,分享出来供大家参考学习,下面来看看详细的介绍: 典型代码1:     data_list = [6, 9, 1, 3, 0, 10, 100, -100]  data_list.sort()  print(data_list) 输出1:     [-100, 0, 1, 3, 6, 9, 10, 100] 典型代码2:      data_list = [6, 9, 1, 3, 0, 10, 100, -10…
python学习-第四天补充-面向对象 python 私有 --name mangling(名字修改.名字) 在命名时,通过使用两个下划线作为开头,可以使得这个变量或者函数编程私有的,但是这个其实的python的伪私有,实际是python通过名字修改来进行的,python会把这样命名的变量或者函数名改为_类名__变量名 class A: __name="hello" t = A(); #print(t.__name) #这样会出现错误,错误提示说这个变量没有__name类型 print…
在开发过程中,字符串和python数据类型进行转换,下面比较python学习第四十八天json模块与pickle模块差异. json 的优点和缺点 优点  跨语言,体积小 缺点 只能支持 int str list tuple dict pickle 的优点和缺点 优点 专门为python设计,支持python所有的数据类型 缺点 只能python使用,存储数据占空间大 文章来自 www.96net.com.cn…
python学习4—数据结构之列表.元组与字典 列表(list)深灰魔法 1. 连续索引 li = [1,1,[1,["asdsa",4]]] li[2][1][1][0] 2. 其他数据结构转换为列表 可以进行for循环的数据结构可以转换为List,数字不能循环则无法转换为列表 li = "cbdualbvrhyacv" new_li = list(li) 3. 列表转换为字符串, 若列表里面既有数字,又有字符串,则需自己写for循环 li = [123,&quo…
迭代 给定一个list或tuple,我们可以通过for循环来遍历这个list或tuple,这种遍历称为迭代(Iteration). 在java和C语言中,迭代是通过循环list的下标来完成的,Python中迭代的抽象程度更高,不仅可以迭代list和tuple,而且可以迭代任何可迭代对象,包括我们自己创建的数据类型,只要符合迭代条件,无论有无下标,都可以使用for循环. Python中的迭代是通过for -in -来完成的. 字典的迭代 比如字典就是可以迭代的: >>> d = {'a':…
一.zip的坑 zip()函数接收多个可迭代数列,将数列中的元素重新组合,在3.0中返回迭代器指向 数列首地址,在3.0以下版本返回List类型的列表数列.我用的是3.5版本python, 所以zip返回的是指向地址. 先看几个例子 结果: 可见,在3.0以上版本,对zip函数返回的结果采用list函数可以转化为列表. 通过列表生成式同样可以将zip结果化为列表. 结果: 当zip操作的对象为一个列表,那么生成的列表中每个元素(元祖)中 为(n,)形式. 当zip操作的多个列表长度不一样,那么z…
协程函数应用 列表生成式 生成器表达式   一.知识点整理: 1.可迭代的:对象下有_iter_方法的都是可迭代的对象 迭代器:对象._iter_()得到的结果就是迭代器 迭代器的特性: 迭代器._next_() 取下一个值 优点: 1.提供了一种统一的迭代对象的方式,不依赖于索引 2.惰性计算 缺点: 1.无法获取迭代器的长度 2.一次性的,只能往后取值,不能往前退,不能像索引那样去取得某个位置的值 2.生成器:函数内带有yield关键字,那么这个函数执行的结果就是生成器 生成器的本质就是迭代…
一.列表生成式 顾名思义,列表生成式就是用于生成列表的特殊语法形式的表达式. 1.1 语法格式 [exp for iter_var in iterable] 工作过程: 1.通过iter_var迭代iterable中的每个元素 2.结合迭代的元素iter_var和exp表达式计算出结果 3.以列表形式返回每次迭代后exp表达式的计算值 由此可见我们最终得到的是一个列表,因此整个表达式是放在列表符号[]中的. 以上语法格式仅仅是最简单的列表生成式形式,实际应用中还可以增加条件判断(过滤)和嵌套循环…
一.生成器 生成器是什么?其实和list差不多,只不过list生成的时候数据已经在内存里面了,而生成器中生成的数据是当被调用时才生成呢,这样就节省了内存空间. 1. 列表生成式,在第二篇博客里面我写了三元运算符,和那个有点像,如果要生成列表[‘01’, ‘02’, ‘03’, ..., ‘10’]怎么做?除了循环还可以用一行语句代替循环生成. list = [str(i).zeffill() for i in range(1,11)] 生成器:要创建一个generator,有很多种方法.第一种方…
我们在用列表生成式的时候,如果有一百万的数据,内存显然不够用,这是python想要什么数据,就生产什么数据给你,就产生了生成器,下面简单讲述生成器用法 1,生成器的用法 a=([a*a for a in rang(10)]) 用元祖的形式 输出 a 为一个生成器 ,是一个大的容器 这样是需要用next() 函数输出的内容 next() 一个一个输出其数据直到最后没有吗,会曝出一个错误 2,next()的用法 用来输出生成器的每个元素的 文章来自 http://www.96net.com.cn…
Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时添加和删除其中的元素.通过下标访问列表中的元素(又称索引.角标),下标从0开始计数.list定义,使用中括号[]. list1 = [1,2,3,4] #一个普通的数组 list2 = ['marry','lily',[50,'monkey']] #二维数组 list3 = ['name','sex',['lily',124,['aaaa','bbb']]] #三维数组,嵌套几层就是几维 1.list的增.删.改.…
该一系列python学习笔记都是根据<Python基础教程(第3版)>内容所记录整理的 1.通用的序列操作 有几种操作适用于所有序列,包括索引.切片.相加.相乘和成员资格检查.另外,Python还提供了一些内置函数,可用于确定序列的长度以及找出序列中最大和最小的元素. 1.1 索引 序列中的所有元素都有编号——从0开始递增,通常我们称这些编号为下标,即为索引(indexing).你可以像下面这样使用编号来访问各个元素: str1 = ['java','c++','C','C#','python…
生成列表 要生成list [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],我们可以用range(1, 11): >>> range(1, 11) [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 但如果要生成[1x1, 2x2, 3x3, ..., 10x10]怎么做?方法一是循环: >>> L = [] >>> for x in range(1, 11): ... L.append(x * x) ... >>…
一.内置函数 1 print(all([1,2,3,4]))#判断可迭代的对象里面的值是否都为真 2 print(any([0,1,2,3,4]))#判断可迭代的对象里面的值是否有一个为真 3 print(bin(10))#十进制转二进制 4 print(bool('s'))#把一个对象转换成布尔类型 5 print(int('10'))#把一个内容为数字的字符串转换整型 6 print(str(10))#把一个对象转换字符串类型 7 print(open('c:\\file.txt'))#打开…
上节课复习: 1. 无参装饰器 def 装饰器名字(func): def wrapper(*args,**kwargs): res = func(*args,**kwargs) return res return wrapper @装饰器名字 #被装饰的函数名字=装饰器名字(被装饰的函数的内存地址) def 被装饰的函数名字(): pass 2, 有参装饰器 def 装饰器名字(参数1,参数2,...): def outter(func): def wrapper(*args,**kwargs)…
1.列表属于可变序列,支持在原处的修改 2.在标准python解锁器内部,列表就是C数组而不是链接结构 3.内置函数map对序列中的各项应用一个函数并把结果收集到一个新的列表中 eg:list(map(abs,[-1,-2,0,1,2]))  -> [1,2,0,1,2] 4.对列表进行索引的结果就是你指定的偏移处的对象,而对列表进行分片往往返回一个新的列表 1.D={‘spam’:2,‘ham’:1,‘eggs’:3}     list(D.values()) --> [3,1,2]   …
dir( )函数有点像目录的意思,但是他是包含由模块定义的名称的字符串的排序列表.这个列表包含模块中定义的所有模块,变量和函数的名称. 列举其用法 import time content = dir(time) print (content) 输出结果 ['_STRUCT_TM_ITEMS', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'altzone', 'asctime', 'clock', 'ctime'…
在软件开发的过程中,要遵循软件的一些原则封装的,不改变原有的代码的基础增加一些需求,python提供了装饰器来扩展函数功能,下面说说函数装饰器用法 def debug(func):      def wrapper():              print "[DEBUG]: enter {}()".format(func.__name__)             return func()       return wrapper @debug # def say_hello()…