遍历

[leetcode]Python实现-345.反转字符串中的元音字母

匿名 (未验证) 提交于 2019-12-02 22:54:36
描述 编写一个函数,以字符串作为输入,反转该字符串中的元音字母。 示例 给定 s = “hello”, 返回 “holle”. 给定 s = “leetcode”, 返回 “leotcede”. 元音字母不包括 “y”. 思路:元音字母a,o,i,e,u。首先按序找出字符串中的元音字母,记录下索引值存放在列表index_list中,然后进行倒叙。 我 class Solution : def reverseVowels ( self , s ) : """ :type s: str :rtype: str """ l = [ 'a' , 'o' , 'e' , 'u' , 'i' , 'A' , 'O' , 'E' , 'U' , 'I' ] res = list ( s ) index_list = [] for i in range ( len ( res )): if res [ i ] in l : index_list . append ( i ) length = len ( index_list ) for j in range ( length // 2 ): res [ index_list [ j ]], res [ index_list [- j - 1 ]] = res [ index_list [- j - 1 ]], res [ index_list [

python os.walk 遍历文件夹

匿名 (未验证) 提交于 2019-12-02 22:51:30
import os for root, dirs, files in os.walk(".", topdown=False): for name in files: print(os.path.join(root, name)) for name in dirs: print(os.path.join(root, name)) topdown --可选,为 True,则优先遍历 top 目录,否则优先遍历 top 的子目录(默认为开启)。如果 topdown 参数为 True,walk 会遍历top文件夹,与top 文件夹中每一个子目录。 返回的是一个三元组(root,dirs,files)。 dirs和files都是数组 http://www.waitingfy.com/archives/3842 文章来源: python os.walk 遍历文件夹

python os.walk()方法--遍历当前目录的方法

匿名 (未验证) 提交于 2019-12-02 22:51:30
前记:有个奇妙的想法并想使用代码实现,发现了一个坑,百度了好久也没发现的"填坑"的文章~~~~~~~~~ 那就由我来填 os.walk() 支持相对路径 例如 os.walk("apple")就是遍历当前目录下 名为apple的文件夹 但是我要遍历当前目录, 不是下面的文件夹 方法: "."可以代指当前目录 os.walk(".") 就可以啦 既然是说的walk的,那就说的全一些 walk() 方法语法格式如下: os . walk ( top [, topdown = True [, onerror = None [, followlinks = False ]]]) 参数 top -- 根目录下的每一个文件夹(包含它自己), 产生3-元组 (dirpath, dirnames, filenames)【文件夹路径, 文件夹名字, 文件名】。 topdown --可选,为True或者没有指定, 一个目录的的3-元组将比它的任何子文件夹的3-元组先产生 (目录自上而下)。如果topdown为 False, 一个目录的3-元组将比它的任何子文件夹的3-元组后产生 (目录自下而上)。 onerror -- 可选,是一个函数; 它调用时有一个参数, 一个OSError实例。报告这错误后,继续walk,或者抛出exception终止walk。 followlinks -- 设置为 true

[Python] 迭代器是什么?你每天在用的for循环都依赖它!

匿名 (未验证) 提交于 2019-12-02 22:51:30
顺序 , 分支 , 循环 是编程语言的三大逻辑结构,在Python中都得到了支持,而Python更是为循环结构提供了非常便利的语法: for ... in ... 刚从C语言转入Python的同学可能倾向于写索引下标式的循环,例如下面的代码像遍历C中的数组一样遍历了一个Python中的列表: >>> colors = ['black', 'white', 'red', 'blue'] >>> for i in range(len(colors)): ... print(colors[i]) ... black white red blue 但如果将列表(list)替换为集合(set),这个方法就不奏效了: >>> colors = set(['black', 'white', 'red', 'blue']) >>> for i in range(len(colors)): ... print(colors[i]) ... Traceback (most recent call last): File "<stdin>", line 2, in <module> TypeError: 'set' object does not support indexing 这是因为set不像list,string,tuple这些结构,其中的元素从逻辑上讲本身是没有序的,与之类似的还有dict

python中实现可迭代对象的方法

匿名 (未验证) 提交于 2019-12-02 22:51:30
当对元组,列表,字典,集合,字符串使用for循环语句的时候,可以依次拿到里面的数据,这样的过程称为遍历,也叫迭代。 想要让创建出来的类的实例对象可以迭代,也就是可以使用for来遍历,需要在类中实现__iter__方法,需要实现__next__方法。 class Classmates(): def __init__(self): self.name = [] self.current_num = 0 def add(self, name): self.name.append(name) def __iter__(self): return self def __next__(self): if self.current_num < len(self.name): ret = self.name[self.current_num] self.current_num += 1 return ret else: raise StopIteration # 抛出异常停止遍历 classmate = Classmates() classmate.add("张三") classmate.add("李四") classmate.add("王五") for name in classmate: print(name)

python(18)-列表list,for循环

匿名 (未验证) 提交于 2019-12-02 22:51:30
列表的使用 1列表定义 2列表中取值 3列表的增,删,查,改 3.1修改指定位置的数据 3.2确定指定元素的索引 3.3增加操作 3.4删除操作 4列表的数据统计 5列表排序 6列表的循环遍历-for 非数值类型:列表,元祖,字典,字符串,都是Python中的高级变量类型 Python中的非数值类型都支持一些共同的操作:都是一个序列,也可以理解为容器,用来装东西用 列表数据类型的应用场景:存储多个相同类型的数据,通过迭代遍历,针对每一项元素,执行相同的操作 注意: 列表中可以存不同类型的数据,但是一般不这么用。 1列表定义 列表-在其他语言中等价于数组,用于存储一串信息 记录三个人的名字,可以 用三个字符串变量存储,也可以用一个列表存储多个变量 name_list=[“zhangsan”,“lisi”,“wangwu”] 用[]定义列表,其中元素用逗号,分隔 2列表中取值 利用索引取出列表中的元素,索引超出范围,程序会报错 name_list[1] zhangsan 3列表的增,删,查,改 列表的常用操作包括 :增,删,查,改。可以通过 函数 和 方法 两种方式来执行常用操作:函数通过函数名()调用,方法通过变量名.方法名调用 3.1修改指定位置的数据 name_list[1]=‘lisisi’ 3.2确定指定元素的索引 name_list.index(“lisi”)

python dict字典 items()和iteritems()多线程遍历

匿名 (未验证) 提交于 2019-12-02 22:51:08
items()和iteritems()区别: 一、两个函数的作用 字典的items方法作用:是可以将字典中的所有项,以列表方式返回。因为字典是无序的,所以用items方法返回字典的所有项,也是没有顺序的。 字典的iteritems方法作用:与items方法相比作用大致相同,只是它的返回值不是列表,而是一个迭代器。 所以iteritems遍历的速度比items方法快 python dict字典循环遍历性能 iteritems比items快 二、使用items()和iteritems()遍历字典,并使用多线程进行读写,用下面的代码进行测试 #!/usr/bin/env python # -*- coding: utf-8 -*- import traceback import threading from time import sleep , ctime _data = dict () def loop ( nloop , data ): res = dict () for i in xrange ( nloop ): try : for k , v in data . iteritems (): # for k, v in data.items(): a = k b = v res [ a ] = b except Exception as e : print ( "read

python第三次作业-mooc笔记

[亡魂溺海] 提交于 2019-12-02 22:43:06
1.注册中国大学MOOC 2.选择北京理工大学嵩天老师的《Python网络爬虫与信息提取》MOOC课程 3.学习完成第0周至第4周的课程内容,并完成各周作业 4.提供图片或网站显示的学习进度,证明学习的过程。 5.写一篇不少于1000字的学习笔记,谈一下学习的体会和收获。 首先是对 Python软件的基础了解。最常用的Python IDE工具:IDLE,Sublime Text,PyCharm,Anaconda&Spyder。 1). IDLE优点有:自带,默认,常用,入门级。建议300行以下 2). Sublime Text:这是一个专为程序员开发的第三方专用编程工具,有专业的编程体验,有多重编程风格,是非常适合程序员的一款 3). PyCharm:社区版免费,较为简单且集成度高,适合较为复杂的工程 4). Anaconda:开源免费,支持近800个第三方库 下面是正式的学习环节: 先安装 Requests库与测试,成功后开始认识Requests库的主要方法,大概有7个:request,get,head,post,put,patch和delete。其功能都是对应HTTP里的功能。 Response对象一共有5个,status_code(HTTP请求的返回状态,200表示成功,404表示失败),text(url对应的页面内容),enconding(从HTTP

第94题:二叉树的中序遍历

回眸只為那壹抹淺笑 提交于 2019-12-02 22:22:46
一. 问题描述 给定一个二叉树,返回它的中序 遍历。 示例: 输入: [1,null,2,3] 1 \ 2 / 3 输出: [1,3,2] 进阶: 递归算法很简单,你可以通过迭代算法完成吗? 二. 解题思路 本体思路:采用迭代的方法对二叉树进行遍历。 步骤一:建立一个空栈和一个list表,将temp节点指向根节点。 步骤二:判断temp是否为空?否则将根节点入栈,并将temp指向根节点的左子节点。(重复直到找到最左子节点) 步骤三:栈中取出最新节点,将数值记录下来,将temp指向该节点的右子节点,返回步骤二。 步骤四:知道栈为空,则遍历结束,将数值结果输出。 三. 执行结果 执行用时 :1 ms, 在所有 java 提交中击败了96.10%的用户 内存消耗 :34.8 MB, 在所有 java 提交中击败了39.36%的用户 四. Java代码 class Solution { public List<Integer> inorderTraversal(TreeNode root) { TreeNode temp=root; List<Integer> result=new ArrayList<Integer>(); List<TreeNode> zhan=new ArrayList<TreeNode>(); while(true){ if(temp!=null){ zhan

零基础入门学习Python,这13个Python惯用小技巧一定要收藏

匿名 (未验证) 提交于 2019-12-02 22:11:45
附Java/C/C++/机器学习/算法与数据结构/前端/安卓/Python/程序员必读书籍书单大全: 书单导航页(点击 右侧 极客侠栈 即可打开个人博客): 极客侠栈 ① 【Java】学习之路吐血整理技术书从入门到进阶最全50+本(珍藏版) ② 【算法数据结构+acm】从入门到进阶吐血整理书单50+本(珍藏版) ③ 【数据库】从入门到进阶必读18本技术书籍网盘吐血整理网盘(珍藏版) ④ 【Web前端】从HTML到JS到AJAX到HTTP从框架到全栈帮你走更少弯路(珍藏版) ⑤ 【python】书最全已整理好(从入门到进阶)(珍藏版) ⑥ 【机器学习】+python整理技术书(从入门到进阶已经整理好)(珍藏版) ⑦ 【C语言】推荐书籍从入门到进阶带你走上大牛之路(珍藏版) ⑧ 【安卓】入门到进阶推荐书籍整理pdf书单整理(珍藏版) ⑨ 【架构师】之路史诗级必读书单吐血整理四个维度系列80+本书(珍藏版) ⑩ 【C++】吐血整理推荐书单从入门到进阶成神之路100+本(珍藏) 【ios】IOS书单从入门到进阶吐血整理(珍藏版) ------------------------------------------------------------------------------------------------------------------------------------