python for循环

Python enumerate() 函数

£可爱£侵袭症+ 提交于 2020-03-23 02:04:58
描述 enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。 Python 2.3. 以上版本可用,2.6 添加 start 参数。 语法 以下是 enumerate() 方法的语法: enumerate(sequence, [start=0]) 参数 sequence -- 一个序列、迭代器或其他支持迭代对象。 start -- 下标起始位置。 返回值 返回 enumerate(枚举) 对象。 实例 以下展示了使用 enumerate() 方法的实例: >>>seasons = ['Spring', 'Summer', 'Fall', 'Winter'] >>> list(enumerate(seasons)) [(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')] >>> list(enumerate(seasons, start=1)) # 下标从 1 开始 [(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]    普通的 for 循环 >>>i = 0 >>> seq = ['one', 'two', 'three'] >>> for element

python之列表与字典

心已入冬 提交于 2020-03-22 15:52:46
list 列表,是一种有序的集合,可以随时添加和修改元素,元素可以是任意类型。 定义方式有两种,直接赋值或使用list类的构造方法: li1 = ["aaa",111,True,[1]] 或: li2 = list([["aaa",111,True,[1]]])   注:list()方法里传入的参数是一个序列,不一定需要是list的数据,list,tuple,dict,set类型的数据都可以看作是一个序列 使用索引,可以访问list中的每一个元素,索引从0开始,如: >>>li1(0) 'aaa' >>>li1(1) 111 索引使用负号,可以从list的最后一位开始访问,如: >>>li1(-1) [1] >>>li1(-2) True 当索引超出范围时,python会报IndexError的错 同时也可以通过索引的方式来直接修改list中的元素,如: >>> li1[2] = False >>>li1 ['aaa', 111, False, [1]] list的基本方法: len():返回list的长度 append():在list的末尾追加元素 pop():根据索引删除元素(默认为最后一个元素),返回对应位置的元素 remove():根据元素进行删除,存在多个相同的元素时,一次只删除第一个,要删除的元素不存在时,报错 insert(1,'a'):指定位置插入元素

python基础笔记

假如想象 提交于 2020-03-22 11:44:14
1 基本配置及基础语法(1, 2 章) 1 Python.exe 的解释器 options: 1.1 –d 提供调试输出 1.2 –O 生成优化的字节码(生成.pyo 文件) 1.3 –S 不导入 site 模块以在启动时查找 python 路径 1.4 –v 冗余输出(导入语句详细追踪) 1.5 –m mod 将一个模块以脚本形式运行 1.6 –Q opt 除法选项(参阅文档) 1.7 –c cmd 运行以命令行字符串心事提交的 python 脚本 1.8 file 以给定的文件运行 python 脚本 2 _在解释器中表示最后一个表达式的值. 3 print 支持类 c 的 printf 格式化输出: print “%s is number %d!” % (“python”, 1) 4 print 的输入内容后面加逗号, 就会使其输入不换行 5 把输出重定向到日志文件: logfile = open(“c:/1.log”, “a”); //打开文件 c:/1.log 使用 a 模式..即 add, 添加. print >> logfile, “Fatal error: invalid input!”; >>为重定向..将 print 的结果重定向到 logfile, 输 出内容是”Fatal error: invalid input!”… logfile.close(); /

python序列(八)列表推导式实列

陌路散爱 提交于 2020-03-22 08:39:52
1.列表推导式列表推导能非常简洁的构成一个新列表:只用一条简洁的表达式即可对得到的元素进行转换变形。    格式:[表达式 for 变量 in 列表]或[表达式 for 变量 in 列表 if 条件]    过滤条件可有可无,取决于实际应用,只留下表达式 >>> list =[x*x for x in range(10)] 相当于 >>> alist= [] >>> for x in range(10): 也相当于 >>> list= list(map(lambda x:x*x,range(10))) 2.阿凡提与国王比赛下棋,国王说要是izji输了的话阿凡提想要什么他都可以拿的出来。阿凡提说那就要点米吧,棋盘一共64个小格子,在第三个格子里放四粒米,第四个格子里放8粒米,以此类推,后面每个格子里的米都是前一个格子里的2倍,一直把64个格子都放满。需要多少粒米? >>> sum([2**i for i in range(64)]) 18446744073709551615 3.使用列表推导式实现嵌套列表的平铺 >>> vec=[[1,2,3],[4,5,6],[7,8,9]] >>> [num for elem in vec for num in elem] [1, 2, 3, 4, 5, 6, 7, 8, 9]相当于 >>> vec=[[1,2,3],[4,5,6],[7,8,9

Python 高级特性之迭代

梦想的初衷 提交于 2020-03-21 21:58:41
什么是迭代呢?如果给定一个list或tuple,我们可以通过for循环来遍历这个list或tuple,这种遍历我们称为迭代(Iteration)。在Python中,迭代是通过for ... in来完成的,例如: 因为dict的存储不是按照list的方式顺序排列,所以,迭代出的结果顺序很可能不一样,默认字典迭代的是key,如果要迭代value,可以用for value in d.values() 例如: 如果要同时迭代key和value,可以利用 for key,value in d.items() 例如: 同样字符串也是可以迭代的,例子如图 如何判断一个对象是可迭代呢?方法是通过collections模块的Iterable类型判断: Python内置的enumerate函数可以把一个list变成索引-元素对,这样就可以在for循环中同时迭代索引和元素本身: for循环里,同时可以两个变量,在Python里是很常见的,比如下面的代码: 来源: 51CTO 作者: swq8023 链接: https://blog.51cto.com/8922100/2480735

计算机二级Python考试心得分享体会总结

天大地大妈咪最大 提交于 2020-03-21 15:50:55
前言: 本人,在学习python之前,学习过c语言,数据结构,做过嵌入式开发,有一点功底,但是不多,通过学习不同的语言的编程也锻炼了一些思维,但涉猎面还是不广,也不怎么精通,最近正在学习Java的项目开发。。。 在2019年三月的计算机二级考试选择了python,最终以良好的成绩结束战斗。总体备战时长大概是30天左右,因为之前自己也学过一段时间python比二级考试的内容,要稍微超前一些,更加接近项目的开发。所以一般的人大概需要30天左右的时间去准备,我是用了三十天,当然这中间还有每星期那满满当当的课,因人而异,但是这种东西尽早提前准备,虽然我的成绩是良好(80-90),但是这篇小文是教你如何变成优秀(90-100),虽然优秀也分91和100,但是毕竟是本次考试的最高的成绩了是不,哈哈 但是如果你想学习python,并且希望自己的饭碗和python有关,那么你要记住你不是为了考二级而学习python,你是在学python的过程中去考个二级证潇洒一下,不过当你有一天真正成为一个十分强大的程序员了之后,你回头看二级证书也就只是想一个高级建筑师看自己小时候搭积木一样,这是我姐夫告诉我的,哈哈。 二级考试的大纲,只是python的冰山一角。 好了,开始。 考试大纲 先说说我们考试的题型,我讲的可能稍微会细一点,主要是照顾小白同学,大佬不喜欢请绕道, 一:考试环境 1. windows

python关于bs4库的整理

天大地大妈咪最大 提交于 2020-03-21 04:47:39
1,BeautifulSoup库是解析,遍历,维护“标签树”代码的功能库;名字为beautifulsoup4或bs4; 引用方式为:from bs4 import BeautifulSoup 或者 import bs4; 1.1 BeautifulSoup类的五种基本元素: 1.1.1 Tag标签:<p class="title"> ... </p> ; 意义:最基本的信息组织单元,标签总是成对出现,标签头常包含有该标签的多对属性(attributes); 引用格式:对象.标签名字; 格式意义:表示返回标签名字为name的bs4类对象的标签全部内容; 以下四种属性都是tag标签基础上的衍生属性(便于理解这么记,语法上可能不成立); 1.1.2 Name 标签名字:<p>...</p> 意义:标签的名字为p; 引用格式:对象.标签名字.name; 格式意义:表示返回该标签的名字; 1.1.3 Attributes 标签属性, <p class="title"><b>The demo python introduces several python courses.</b></p> 意义:class="title"为标签的类属性; 引用格式:对象.标签名字.attrs['class']; 格式意义:返回该标签属性的字典形式(包含该标签的所有属性);若是加上后缀中括号,表示返回中括号内

第六章 字典

匆匆过客 提交于 2020-03-20 23:49:13
在本章中,我们将学习能够将相关信息关联起来的Python字典。我们将学习如何访问和修改字典中的信息。鉴于字典可存储的信息几乎是不受限制,因此我们会演示如何遍历字典中的数据。另外,我们还将学习存储字典的列表、存储列表的字典和存储字典的字典。 理解字典后,我们就能够更准确地为各种真是物体建模。我们可以创建一个表示人的字典,然后想在其中存储多少信息就存储多少信息:姓名、年龄、地址、职业以及要描述的任何方面。我们还能够存储任意两种相关的信息,如一系列单词及其含义,一系列人名及其喜欢的数字,以及一系列山脉及其海拔等。 6.1 一个简单的字典 来看一个游戏,其中包含一些外星人,这些外星人的颜色和点数各不相同。下面是一个简单的字典,存储了有关特性外星人的消息: alien.py]   alien_0 = {"color":"green","points":5}   print(alien_0["color"])   print(alien_0["points"]) 字典alien_0存储了外星人的颜色和点数。使用两条print语句来访问并打印这些信息,如下所示: green 5 与大多数编程概念一样,要熟练使用字典,也需要一段时间的练习。使用字典一段时间后,我们就会明白为何它们能够高效地模拟现实世界中的情形。 刚接触字典的时候也是很不习惯,其实字典主要包含键值对,键——值组成一个搭配

python基础 day3

被刻印的时光 ゝ 提交于 2020-03-20 23:28:07
Day3笔记 1.基础数据类型 整数(int) ,字符串(str),布尔值(bool),列表(list),元组(tuple),字典(dict),集合(set). int:数字:主要用于运算。1 ,2,3... bool:判断真假:True, False. str:简单少量的储存数据,并进行相应的操作。name = 'alex', tuple:只读,不能更改。(1,'alex') list:大量有序数据,[1,'ses',True,[1,2,3],{'name':'jinxin'}] dict:大量数据,且是关联性比较强的数据 {'name':'jinxin','age':18,'name_list':['张三','李四']} set:交集、并集、差集 int 主要用于运算 二进制转化为十进制 # 0001 1010转化为十进制 b = 1 * 2**4 + 1 * 2**3 + 0 * 2**2 + 1 * 2**1 + 0 * 2**0 print(b) int # int # bit_length 有效的二进制的位数 i = 4 print(i.bit_length()) 数据类型之间的转换 # int <————> str #字符串必须是整数时才能转换成int i = 4 print(str(i)) i = '4' print(int(i)) # str <————>

Python之线程池

与世无争的帅哥 提交于 2020-03-20 23:17:08
版本一: #!/usr/bin/env python # -*- coding:utf-8 -*- import Queue import threading class ThreadPool(object): def __init__(self, max_num=20): self.queue = Queue.Queue(max_num) for i in xrange(max_num): self.queue.put(threading.Thread) def get_thread(self): return self.queue.get() def add_thread(self): self.queue.put(threading.Thread) """ pool = ThreadPool(10) def func(arg, p): print arg import time time.sleep(2) p.add_thread() for i in xrange(30): thread = pool.get_thread() t = thread(target=func, args=(i, pool)) t.start() """ 版本二: #!/usr/bin/env python # -*- coding:utf-8 -*- """ custom ThreadPool