python for循环

Python常用语句及流程控制

孤人 提交于 2020-03-24 17:42:10
1. 赋值语句常用技巧 通过序列解包(sequence unpacking) 可以将多个值的序列解开,让后一一放置到变量的序列中。解包的序列中的元素必须和等号左边变量数量一致。如下: 1 values = 1,2,3 2 3 print values # output: (1, 2, 3) 4 5 x,y,z = values # output: 1 2 3 6 print x,y,z 7 8 bob_Info = {'name':'Bob','email':'bob@gmail.com'} 9 key,value = bob_Info.popitem() 10 11 print value # output: Bob 1.2 链式赋值 通过使用链式赋值(chained assignment)可以将一个值同时赋给多个变量,如下: x = y = z = 1 print x,y,z # output: 1 1 1 1.3 增量赋值 将表达式运算符( + 、 - 、 * 、 % 、 / 等)放置在赋值运算符(=)的左边,这些写法被称为增量赋值(augmented assignment),如下: 1 x = 6 2 3 x += 1 4 print x # output: 7 5 6 x *= 6 7 print x # output: 42 2. 缩进 —— Python语言的风格

Python基础语法 - 列表生成器

妖精的绣舞 提交于 2020-03-24 14:59:59
列表生成式 1. L = [x for x in range(5)] print(L) #[0, 1, 2, 3, 4] 2. L = [x*2 for x in range(5)] print(L)  #[0, 2, 4, 6, 8] 3. def f(n): return n**3 a = [f(x) for x in range(5)] print(a) #[0, 1, 8, 27, 64] 生成器 Python有两种不同的方式提供生成器: 生成器表达式: 定义:类似于列表推导,但是,生成器返回按需产生结果的一个对象,而不是一次构建一个结果列表。 通过列表生成式,我们可以直接创建一个列表。但是,受到内存限制,列表容量肯定是有限的。而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素,那后面绝大多数元素占用的空间都白白浪费了。 所以,如果列表元素可以按照某种算法推算出来,那我们是否可以在循环的过程中不断推算出后续的元素呢?这样就不必创建完整的list,从而节省大量的空间。在Python中,这种一边循环一边计算的机制,称为生成器:generator。 要创建一个generator,有很多种方法。第一种方法很简单,只要把一个列表生成式的 [] 改成 () ,就创建了一个generator: g = (x*2 for x in range

Python语法基础:列表与元组

对着背影说爱祢 提交于 2020-03-24 14:59:08
列表 一.相关知识 1.列表格式 nameList=["Xiao Deng","Xiao wang"] 比c语言的数组强大的地方在于列表中的元素可以是不同类型的 列表也是用从下标为0开始取值 2.列表的循环遍历 for循环: nameList=["Alex","Tony","Tom","Jenny"] for i in nameList: print(i) ''' 输出 Alex Tony Tom Jenny ''' while循环: nameList=["Alex","Tony","Tom","Jenny"] length=len(nameList) i=0 while i<length: print(nameList[i]) i+=1 3.列表的相关操作 1).添加元素(append,extend,insert) append:向列表添加元素 nameList=["Alex","Tony","Tom","Jenny"] a=input() nameList.append(a) for i in nameList: print(i) ''' dwx Alex Tony Tom Jenny dwx ''' extend:可以将另一个集合中的元素逐一添加到列表: a=[1,2,3] b=[4,5,6] a.append(b) for i in a:#此时a的元素为[1,2,3,[4

Python专题——详解enumerate和zip

China☆狼群 提交于 2020-03-24 10:27:55
本文始发于个人公众号: TechFlow ,原创不易,求个关注 今天是 Python专题的第7篇 文章,我们继续介绍迭代相关。 enumerate 首先介绍的是enumerate函数。 在我们日常编程的过程当中,经常会遇到一个问题。 在C语言以及一些古老的语言当中是没有迭代器这个概念的,所以我们要遍历数组或者是容器的时候,往往只能通过下标。有了迭代器之后,我们遍历的过程方便了很多,我们可以直接用一个变量去迭代一个容器当中的值。最简单的例子就是数组的遍历,比如我们要遍历items这个数组。我们可以直接: for item in items: 通过迭代器的方式我们可以很轻松地遍历数组,而不再需要下标,也不需要计算数组的长度了。但是 如果我们在循环体当中需要知道元素的下标该怎么办 ? 难道我们真的只能在下标和迭代器当中选择一个吗,比如在循环体的外面添加一个变量来记录下标? idx = 0for item in items: operation() idx += 1 这样可以解决问题,但是很麻烦,一点也不简洁,用专业的话来说一点也不 pythonic (符合Python标准的代码)。为了追求pythonic,于是有了enumerate函数,来解决了我们又想直接迭代又需要知道元素下标的情形。 它的用法也很简单,我们把需要迭代的对象或者迭代器传入enumerate函数当中,它会为我们

Python列表

╄→尐↘猪︶ㄣ 提交于 2020-03-23 09:36:26
在python中使用[]来描述列表, 内部元素用逗号隔开. 对数据类型没有要求 1. 相关的增删改查操作 添加: 1. append() 追加 2. insert(位置, 元素) 插入指定元素到指定位置     3. extend(元素) 迭代添加,把传递进去的参数进行迭代.把每一项添加到列表的末尾 lst = ["章鱼", "螃蟹", "龙虾"] # 添加 append() 追加. 在后面添加 lst.append("帝王蟹") lst.append("海龟") # # 插入 insert(位置, 元素), 效率相对比较低 lst.insert(1, "河豚") # 迭代添加, 把传递进去的参数进行迭代. 把每一项添加到列表的末尾 lst.extend(["水母","鲤鱼"]) 删除: 1. pop(index) 根据索引删除 2. remove(元素) 根据元素删除     修改: 索引修改 lst[索引] = 元素 查询: for循环. 2. 列表的其他操作 1. count() 计数 2. sort() 排序 reverse = True 3. reverse() 翻转 4. len() 求长度 lst = ["太白", "太白", "太黑", "日天", "女神", "alex", "太白"] print(lst.count("太白")) # 查看xxx元素出现的次数

Python实现十进制和二进制之间相互转换

家住魔仙堡 提交于 2020-03-23 08:25:46
十进制转二进制 原理:采用除2取余,逆序排列输出。 实现:用2整除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为小于1时为止,然后依次翻转排序即可得到二进制数,在Python中我们采”//”(地板除)的方法实现转换 # 十进制整数转二进制def decToBin(num): arry = [] #定义一个空数组,用于存放2整除后的商 while True: arry.append(str(num % 2)) #用列表的append方法追加 num = num // 2 #用地板除求num的值 if num == 0: #若地板除后的值为0,那么退出循环 break return "".join(arry[::-1]) #列表切片倒叙排列后再用join拼接print(decToBin(10))输出结果:1010 二进制转十进制 原理:要从右到左用二进制的每个数去乘以2的相应次方求累加。 # 二进制整数转十进制def binToDec(binary): result = 0 #定义一个初始化变量,后续用于存储最终结果 for i in range(len(binary)): #利用for循环及切片从右至左依次取出,然后再用内置方法求2的次方 result += int(binary[-(i + 1)]) * pow(2, i) return

Python之三元运算

Deadly 提交于 2020-03-23 06:15:01
Python之三元运算 一、三元运算符 三元运算符就是在赋值变量的时候,可以直接加判断,然后赋值 格式:[on_true] if [expression] else [on_false] res = 值1 if 条件 else 值2 1.举例说明: a =1 b = 2 c= a if a>1 else b #如果a大于1的话,c=a,否则c=b 如果不用三元运算符,就用if-else条件判断,如下: a = 1 b = 2 if a >1: c = a else: c = b 2.三元运算符也可以用在列表和字典中 例:1-10的数字,打印出其中的偶数 三元运算: ss = [i for i in range(1,11) if i%2==0 ] #循环1-11间的值(不包括11),如果值能被2整除(即取偶数),就写到ss这个list中 print(ss) #最终打印结果 [2, 4, 6, 8, 10] if-else条件判断 s = [] for i in range(1,11): if i %2==0: s.append(i) print(s) 一、三元运算符 三元运算符就是在赋值变量的时候,可以直接加判断,然后赋值 格式:[on_true] if [expression] else [on_false] res = 值1 if 条件 else 值2 1.举例说明: a =1

Python学习随笔一

那年仲夏 提交于 2020-03-23 05:06:55
1、2.x版本与3.x版本命令语句有区别,不可兼容 2、转化万国码 可在命令行开始加上# -*- coding:utf-8 -*- 3、变量 (1)命令规则首字母不能是数字 (2)元素不能是Python中关键字 (3)可以包含数字、字母、下划线 4、条件语句 if 条件 : (#缩进)pass elif 条件: (#缩进)pass else: 例如: a = 10 b = 20 if a == b: print ('yes') else: print('no') 5、循环语句 while 条件: (#缩进)pass #跳过,什么都不做 break #跳出循环 continue #跳出本次循环,执行下一次循环 for 条件 in 条件: 例如: (1) num = (0,101) print("让我们来猜0-100的数字,你总共有6次机会!") time = 6 guess = num while True : guess = int(input("请输入的你数字:")) time -= 1 if guess == num: print("恭喜你,答对了!") break else: if guess < num: print("你输入的数字太小了!") if guess > num: print("你输入的数字太大了!") print("你还有" + str(time) +"次机会

Python学习day4(列表,元组,range()方法)

北慕城南 提交于 2020-03-23 02:46:37
列表: 列表是python中的基础数据类型之一,其他语言中也有类似于列表的数据类型,比如js中叫数组,他是以[]括起来,每个元素以逗号隔开,而且他里面可以存放各种数据类型比如: li = [‘hyg’,123,Ture,(1,2,3,’hum’),[1,2,3,’小明’,],{‘name’:’lyy’}] 列表相比于字符串,不仅可以储存不同的数据类型,而且可以储存大量数据,32位python的限制是 536870912 个元素,64位python的限制是 1152921504606846975 个元素。而且列表是有序的,有索引值,可切片,方便取值。 列表中通过 索引,切片,切片+步长 操作与字符串中一样 列表的增、删、改、查及其他方法 增 # append 追加 li = [1, 3, 'hyg', [2], 5] li.append(9) print(li) #显示:[1, 3, 'hyg', [2], 5, 9] #insert 按索引插入在钙索引前 li = [1, 3, 'hyg', [2], 5] li.insert(1, '宝元') print(li) #显示:[1, '宝元', 3, 'hyg', [2], 5] # extend 迭代着追加 li = [1, 3, 'hyg', [2], 5] li.extend('abc') print(li) #显示:[1, 3

Python enumerate() 函数----枚举

心已入冬 提交于 2020-03-23 02:06:07
描述 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 in