t = [‘B071LF9R6G‘, ‘B0714BP3H4‘, ‘B0756FL8R7‘, ‘B072HX95ZR‘, ‘B07CX389LX‘, ‘B07D9MZ7BD‘, ‘B07D9L15L5‘, ‘B00L1UNPZ0‘,‘B07KDL9RSD‘, ‘B01N02WUM3‘, ‘B072KTNZMW‘, ‘B071Z71BXW‘, ‘B00DU76BOY‘, ‘B07D9NC33M‘, ‘B07G82D89J‘, ‘B076C9X4KS‘,‘B07CTMG6Y9‘, ‘B071JZ78TD‘, ‘B01NBPP89Y‘, ‘B000LJ60F4‘, ‘B07FBJ8CT1‘, ‘B01N77XY1C‘, ‘B06XSCR62Y‘, ‘B078H4FK45‘,‘B01MRVTY7K‘...
需求:有一个列表:ls = [1,2,3,4,5,6],要求删除其中的偶数如果是下面这种方法,在遍历的过程中删除,会有问题for i in range(len(ls)):if ls[i]%2 == 0:del ls[i]
异常:IndexError: list index out of range因为删除一个元素后,列表的长度改变了,所以会报下标越界。可以采取一下三种方法:1.ls = [x for x in ls if x%2!=0] #列表解析
2.ls = filter(lambda x:x%2!=0,ls) #filter
3.for i in range(len(ls)-1,-1,-1)...
思路:1. 使用列表保存结果;2. 使用栈(列表实现)存储结点;3. 当根结点存在,保存结果,根结点入栈;4. 将根结点指向左子树;5. 根结点不存在,栈顶元素出栈,并将根结点指向栈顶元素的右子树;6. 重复步骤3-6,直到栈空。LeetCode: 144. Binary Tree Preorder Traversal# Definition for a binary tree node.# class TreeNode(object):# def __init__(self, x):# self.val = x# self.left = None# ...
今天专门把python的字典各种方法对比测试了一下性能效果. 测试代码如下: 1def dict_traverse():2from time import clock3 my_dict = {‘name‘: ‘Jim‘, ‘age‘: ‘20‘, ‘height‘: ‘180cm‘, ‘weight‘: ‘60kg‘}4 5 t_start = clock()6for key in my_dict: # 性能最差写法.无优化 7print‘Type01.01: %s --- %s‘ % (key, my_dict[key])8 t1 = clock()910for key in my_dict: # 性能较上优,可见get()方...
1、二叉树的三种遍历方式二叉树有三种遍历方式:先序遍历,中序遍历,后续遍历 即:先中后指的是访问根节点的顺序 eg:先序 根左右 中序 左根右 后序 左右根 遍历总体思路:将树分成最小的子树,然后按照顺序输出 1.1 先序遍历 a 先访问根节点 b 访问左节点 c 访问右节点 a(b ( d ( h ) )( e ( i ) ))( c ( f )( g )) -- abdheicfg 1.2 中序遍历 ...
二叉树的遍历分为广度优先遍历和深度优先遍历广度优先遍历(breadth first traversal):又称层次遍历,从树的根节点(root)开始,从上到下从从左到右遍历整个树的节点。深度优先遍历(depth first traversal):对于一颗二叉树,深度优先遍历是沿着树的深度遍历树的节点,尽可能深的搜索树的分支。深度优先遍历有重要的三种方法。这三种方式常被用于访问树的节点,它们之间的不同在于访问每个节点的次序不同。这三种遍历分别叫做先序遍...
遍历方案 从二叉树的递归定义可知,一棵非空的二叉树由根结点及左、右子树这三个基本部分组成。因此,在任一给定结点上,可以按某种次序执行三个操作: 1).访问结点本身(N) 2).遍历该结点的左子树(L) 3).遍历该结点的右子树(R)有次序: NLR、LNR、LRN遍历的命名 根据访问结点操作发生位置命名:NLR:前序遍历(PreorderTraversal亦称(先序遍历)) ——访问结点的操作发生在遍历其左右子树之前。LNR:中序遍...
二叉树是很重要的数据结构,在面试还是日常开发中都是很重要的角色。首先是建立树的过程,对比C或是C++的实现来讲,其涉及到了较为复杂的指针操作,但是在面向对象的语言中,就不需要考虑指针, 内存等。首先我们需要定义一个树节点, 我们采用基于链表设计的节点, 首先定义一个数据域, 其次就是左孩子和右孩子。如下定义:# 树节点的定义class Node:def__init__(self, data=-1, lchild=None, rchild=None):self.lchild = lchild # 表...
题目: 给你一个二叉树,请你返回其按 层序遍历 得到的节点值。 (即逐层地,从左到右访问所有节点)。示例:二叉树:[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其层次遍历结果:[ [3], [9,20], [15,7]]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/binary-tree-level-order-traversal思路:输出需要是二维数组的形式。一层输出一行。Python解法: 1# 定义二叉树2class TreeNode:3 ...
enumerate 函数用于遍历序列中的元素以及它们的下标:>>> for i,j in enumerate((‘a‘,‘b‘,‘c‘)): print i,j 0 a1 b2 c>>> for i,j in enumerate([1,2,3]): print i,j 0 11 22 3>>> for i,j in enumerate({‘a‘:1,‘b‘:2}): #注意字典,只返回KEY值!! print i,j 0 a1 b>>> for i,j in enumerate(‘abc‘): print i,j 0 a1 b2 c 原文:http://www.cnblogs.com/itfat/p/7392371.html
想法是遍历学校贴吧的用户,获取用户的数据用来分析,因为是初学python,就一点一点的写,变量命名也不规范,见谅系统:windows版本:python 3.5#获取河北大学工商学院吧1000页以内的用户import urllib.request
import re
url=‘http://tieba.baidu.com/f/like/furank?kw=%BA%D3%B1%B1%B4%F3%D1%A7%B9%A4%C9%CC%D1%A7%D4%BA&pn=‘webfile=open(‘tieba.txt‘,‘w‘)for each in range(1000):url2=url+str(each+1)webdata=urllib.re...
最近学习python这门语言,感觉到其对自己的工作效率有很大的提升,特在情人节这一天写下了这篇博客,下面废话不多说,直接贴代码 1 #!/usr/bin/env python2 # -*- coding: utf-8 -*-3 if __name__ == ‘__main__‘:4 list = [‘html‘, ‘js‘, ‘css‘, ‘python‘]5 6 # 方法17 print ‘遍历列表方法1:‘8 for i in list:9 print ("序号:%s 值:%s" % (list.index(i) + 1, i))
10
11 print ‘\...
import os
suffix_name_list = [".pdb", ".ilk"]def find_file(path):# 遍历文件夹for i in os.listdir(path):# 获取文件后缀名suffix_name = os.path.splitext(i)[-1]if suffix_name in suffix_name_list:# 删除文件os.remove(path + "\\" + i)print(path + "\\" + i + "已删除...")# 如果是文件夹就递归遍历if os.path.isdir(path + "\\" + i):find_file(path + "\\" + i)if__name__ == ‘__main__‘:find_file("F:\Projects\C++...
1.def chunks(s, step):return [s[i:i+step] for i in range(0, len(s), step)]chunks(range(50), 10)返回值
[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9], [10, 11, 12, 13, 14, 15, 16, 17, 18, 19], [20, 21, 22, 23, 24, 25, 26, 27, 28, 29], [30, 31, 32, 33, 34, 35, 36, 37, 38, 39], [40, 41, 42, 43, 44, 45, 46, 47, 48, 49]]2.f=lambda s, step:[s[i:i+step] for i in range(0, len(s), step)]f([1,2,3,4,5,6],2)返回值
[[1, 2], ...
树表示由边连接的节点。它是一个非线性的数据结构。它具有以下特性。一个节点被标记为根节点。除根节点之外的每个节点都与一个父节点关联。每个节点可以有一个arbiatry编号的chid节点。我们使用前面讨论的os节点概念在python中创建了一个树数据结构。我们将一个节点指定为根节点,然后将更多的节点添加为子节点。下面是创建根节点的程序。创建树创建根我们只需要创建一个节点类并向节点添加赋值。这就变成了只有根节点的树。 1clas...