
python
hat1996
这个作者很懒,什么都没留下…
展开
-
python把二位列表变为一维列表的方法
c = [[1,2,3], [4,5,6], [7,8,9]]1.用列表推导式>>> [n for a in c for n in a ][1, 2, 3, 4, 5, 6, 7, 8, 9]2.用嵌套循环展开>>> result=[]>>> for a in c: for n in a: result.append(n) res...原创 2018-04-01 20:20:07 · 8077 阅读 · 0 评论 -
python生成器推导式
1.生成器推导式是继列表推导式后的有一中python推导式,他比列表推导式速度更快,占用的内存也更少。2.使用生成器对象时,可以根据需要将他转化为列表或者元组,也可以是哟个生成器对像__next__()方法或内置函数next()进行遍历,其具有惰性求值的特点,进行一次遍历后便不能再次方位内部元素,即访问一次立马清空生成器对象>>> g = ((i+2)**2 for i in r...原创 2018-04-04 11:01:15 · 3937 阅读 · 0 评论 -
python字典的特性和字典的创建与删除
特性:1.字典是无序可变的2.字典由键值对组成,键与值之间用冒号隔开,字典语素之间用逗号隔开3.字典的键为任意不可变的数据字典的创建通常有4中方法:1.把一个字典赋值给一个变量>>> a={'apple':'苹果','banana':'香蕉','pear':'梨'}>>> a{'apple': '苹果', 'banana': '香蕉', 'pear': '梨'}...原创 2018-04-06 11:34:18 · 1126 阅读 · 0 评论 -
python字典元素的读取
1.根据字典的键读取键对应的值,键不存在时抛出异常>>> a={'apple':'苹果','banana':'香蕉','pear':'梨'}>>> a['apple']'苹果'>>> a[b]Traceback (most recent call last): File "<pyshell#38>", line 1, in &原创 2018-04-06 12:10:35 · 34797 阅读 · 0 评论 -
python复杂数据结构之栈
栈是一种后进先出的数据结构,python列表的本身就是实现栈结构的基本操作,例如列表的append()方法是在列表的尾部追加元素,pop()方法实在列表的尾部删除元素,这和栈的操作类似。但是直接使用python列表对象模拟栈操作是不推荐的,当列表的元素为空时如果再次执行pop()方法那么会抛出异常,另外列表也无法限制栈空间的大侠。使用列表的方式表示栈:>>> myStack = ...原创 2018-04-22 14:21:45 · 375 阅读 · 0 评论 -
python复杂数据结构之链表
数据结构的链表几乎和python的列表是同一个东西,用python余延实现链表只需要定义一个列表>>> linkTable = []>>> linkTable.append(3)>>> linkTable.append(5)>>> linkTable[3, 5]>>> linkTable.insert原创 2018-04-22 14:51:28 · 233 阅读 · 0 评论 -
python复杂数据结构之二叉树
使用代码中的类BinaryTree创建的对象不仅支持二叉树的创建以及前序遍历、中序遍历与后序遍历等三种常用的二叉树节点遍历方式,还支持二叉树中任意“子树”的遍历。class BinaryTree: def __init__(self, value): self.__left = None self.__right = None self.__dat...原创 2018-04-22 15:29:56 · 369 阅读 · 0 评论 -
python数据结构之堆
堆的定义: 堆是一种特殊的树形数据结构,每个节点都有一个值,通常我们所说的堆的数据结构指的是二叉树。堆的特点是根节点的值最大(或者最小),而且根节点的两个孩子也能与孩子节点组成子树,亦然称之为堆。 堆分为两种,大根堆和小根堆是一颗每一个节点的键值都不小于(大于)其孩子节点的键值的树。无论是大根堆还是小根堆(前提是二叉堆)都可以看成是一颗完全二叉树。下面以图的形式直观感受一下: >>...原创 2018-04-18 20:56:35 · 789 阅读 · 0 评论 -
python复杂数据结构之队列
python队列的标准库是queue,queue中的Queue是遵循先进先出原则,当然queue中还提供了后进先出的队列LifoQueue和优先级队列PriorityQueue队列>>> import queue #queue是Python标准库>>> q=queue.Queue()>>> q.put(0) ...原创 2018-04-22 13:43:28 · 902 阅读 · 0 评论 -
python怎么把列表转化为字符串
>>> list1=['ak','uk',4]>>> list2=[str(i) for i in list1] #使用列表推导式把列表中的单个元素全部转化为str类型>>> list2 #查看转化后的列表['ak', 'uk', '4']>>> list3=' '.join(list2) #把列表中的元素放...原创 2018-04-24 11:36:29 · 100603 阅读 · 2 评论 -
python安装第三方包requests
requests是一个很实用的Python HTTP客户端库,编写爬虫和测试服务器响应数据时经常会用到。可以说,Requests 完全满足如今网络的需求。方法一:默认安装的idle是不带requests包的,import这个包系统会提示出错,这这时我们就需要下载安装对应的包就好。到官网:https://pypi.python.org/pypi/requests点击download files(此处...原创 2018-05-04 08:22:56 · 8947 阅读 · 1 评论 -
python中的进制转换
python中常用的进制转化通常有两种方法:1.用内置函数hex(),oct(),bin(),对应的数字表示为0x,0o,0b,功能是把十进制数字转化为其他进制 的数>>> hex(93078848)'0x58c4540'>>> oct(93078848)'0o543042500'>>> bin(93078848)'0b1011000...原创 2018-04-04 10:36:29 · 8804 阅读 · 0 评论 -
python字典元素的添加与修改
1.字典中的键存在时,可以通过字典名+下标的方式访问字典中改键对应的值,若键不存在则会抛出异常。如果想直接向字典中添加元素可以直接用字典名+下标+值的方式添加字典元素,只写键想后期对键赋值这种方式会抛出异常。>>>a=['apple','banana','pear','orange']>>> a['apple', 'banana', 'pear', 'orang...原创 2018-04-11 11:48:48 · 59959 阅读 · 1 评论 -
python内置函数sorted()深入
列表对象提供了sort()方法支持原地排序,而内置函数sorted()不支持原地操作只是返回新的列表,并不对原列表进行任何修改。sorted()方法可以对列表、元组、字典、range对象等进行排序。列表的sort()方法和内置函数sorted()都支持key参数实现复杂排序要求。#使用key来指定排序依据,先按姓名升序排序,姓名相同的按年龄降序排序>>> persons = [{...原创 2018-04-16 19:03:43 · 917 阅读 · 0 评论 -
python列表推导式简介
1.列表推导式使用简洁的方式快速生成需求列表,实际上就是对长表达式的缩写>>>a=[x*x for x in range(10)]等价于:>>> a=[]>>> for x in range(10): a.append(x*x)等价于:a=list(map(lambda x:x*x,range(10))) #lambda表达式实际上就是一...原创 2018-04-01 17:19:40 · 285 阅读 · 0 评论 -
python用于序列操作的常用内置函数
1.len():返回列表中元素的个数,同样适用于元组、字典、集合、字符串>>> len('st')2>>> len('s t')3>>> len("df ")32.max(),min():返回列表中元素的最大值或最小值,同样适用于元组、字典、集合、range对象3.sum():对列表进行求和操作,同样适用于元组和range对象>>&am原创 2018-04-01 16:07:00 · 2657 阅读 · 0 评论 -
python中的有序字典
python字典中的元素是无序的,但是可以通过collections.OrderedDict是无序字典成为有序字典>>> x = dict() #无序字典>>> x['a'] = 3>>> x['b'] = 5>>> x['c'] = 8>>> x #输出并没原创 2018-04-14 14:58:15 · 1594 阅读 · 0 评论 -
python字典推导式
>>> s = {x:x.strip() for x in (' he ', 'she ', ' I')} #输出形式形如:x+:+strip处理过后的x>>> s{' he ': 'he', 'she ': 'she', ' I': 'I'}>>> for k, v in s.items(): print...原创 2018-04-14 16:30:10 · 9764 阅读 · 0 评论 -
python集合的创建于删除
集合时无序可变的序列,集合中的元素放在{}内,集合中的元素具有唯一性。集合中只能包含数字、字符串、元组等不可变的类型数据(或者说可哈希),而不能包含列表、字典、集合等可变的类型数据1.集合的创建方法一:把集合直接赋值给一个变量>>> num={1,2,3,4}方法二:使用range对象>>> a=set(range(1,4))>>> a{1, ...原创 2018-04-14 17:03:40 · 957 阅读 · 0 评论 -
python快速提取序列中单一元素(去掉序列中重复的元素)
>>> import random>>> listRandom = [random.choice(range(100)) for i in range(200)] #在1-100中生成200个数字>>> listRandom[9, 2, 3, 99, 45, 41, 12, 5, 14, 88, 10, 55, 54, 93, 87, 1...原创 2018-04-15 16:53:58 · 5627 阅读 · 0 评论 -
python集合运算案例
python生成不重复随机数放在列表中的效率比较import randomimport timedef RandomNumbers(number, start, end): '''使用列表来生成number个介于start和end之间的不重复随机数''' data = [] n = 0 while True: element = random....原创 2018-04-15 18:36:53 · 1949 阅读 · 0 评论 -
python序列解包
python的序列解包功能实现了对多个变量的同事赋值1.多个值的对应赋值>>> x,y,z=1,2,3>>> x12.多个值对应到一个变量,这个变量实际上是一个多值元组,这个元组还可以进一步赋值到多个变量上>>> s = {'a':1, 'b':2, 'c':3}>>> key,value = s.popitem()...原创 2018-04-03 18:05:15 · 1111 阅读 · 0 评论 -
用python爬取百度图片
爬取的图片默认放在代码文件同目录的文件下(第一次运行代码时,本人的代码是放在桌面,爬取一千多张照片导致桌面当场崩溃,后来在桌面新建了文件夹效果就好多了)上代码:import requestsimport urllib import os , refrom os.path import join import timedef getPages(keyword,pages=5): para...转载 2018-05-04 08:27:32 · 262 阅读 · 0 评论