python for循环

python列表元素的练习

夙愿已清 提交于 2019-12-16 02:15:45
文章目录 题目1: 题目2: 题目1: 有一个列表,其中包括 10 个元素, 例如这个列表是[1,2,3,4,5,6,7,8,9,0], 要求将列表中的每个元素一次向前移动一个位置, 第一个元素到列表的最后,然后输出这个列表。 最终样式是[2,3,4,5,6,7,8,9,0,1] 代码: 运行结果: 题目2: 问题描述:按照下面的要求实现对列表的操作: 产生一个列表,其中有 40 个元素,每个元素是 50 到 100 的一个随机整数 如果这个列表中的数据代表着某个班级 40 人的分数,请计算成绩低于平均分的学生人数 对上面的列表元素从大到小排序并输出li.sort(reverse=True) import random score = [] # 循环40次,生成40个范围内的数,生成列表 for count in range(40): num = random.randint(50,100) score.append(num) #计算成绩 print('40人的分数为:',score) sum_score = sum(score) print(sum_score) ave_num = sum_score/40 # 将小于平均成绩的成绩找出来 组成新的列表 并求列表的长度 less_ave = [] for i in score: if i < ave_num: less_ave

Python list 常用方法总结

元气小坏坏 提交于 2019-12-16 01:50:18
一,创建列表 只要把逗号分隔的不同的数据项使用方括号([ ])括起来即可 下标(角标,索引)从0开始,最后一个元素的下标可以写-1 list = [‘1’,‘2,‘3’] list = [] 空列表 二,添加新的元素 list.append() 在list 末尾增加一个元素 list.insert(n,‘4’) 在指定位置添加元素,如果指定的下标不存在,那么就是在末尾添加 list1.extend(list2) 合并两个list list2中仍有元素 三,查看列表中的值 print(list) 遍历列表 等价于 for i in list: print i print(list[n]) 使用下标索引来访问列表中的值,同样你也可以使用方括号的形式截取字符 print(list.count(xx)) 查看某个元素在这个列表里的个数,如果改元素不存在,那么返回0 print(list.index(xx))找到这个元素的小标,如果有多个,返回第一个,如果找一个不存在的元素会报错 四,删除list 中的元素 list.pop() 删最后一个元素 list.pop(n)指定下标,删除指定的元素,如果删除一个不存在的元素会报错 list.remove(xx) 删除list 里面的一个元素,有多个相同的元素,删除第一个 print(list.pop()) 有返回值 print(list

Python基础之循环语句(for语句、break与continue的使用)

半腔热情 提交于 2019-12-16 01:16:25
for循环的使用实现99乘法表 For循环语法: For i in range(start,end,step) Print(i) # for循环语句 # 输出1到9 for i in range(1,10): print(i) # 输出0到9 for i in range(10): print(i) print("------------------------------") # 输出1到1,3,5,7,9 for i in range(1,10,2): print(i) print("------------------------------") # 输出1到0,2,4,6,8 for i in range(0,10,2): print(i) print("------------------------------") # 倒序打印输出9,7,5,3,1 for i in range(9,0,-2): print(i) 需求:使用for循环打印99乘法表,然后反转乘法表 # 使用for循环打印99乘法表 for i in range(1,10): for j in range(1,i+1): print("%d * %d = %d" % (j, i, j * i),end="\t") print() print("------------------------------

【Python学习之路】列表推导式

早过忘川 提交于 2019-12-15 21:52:52
列表推导式 循环可以用来生成列表: values = [ 10 , 21 , 4 , 7 , 12 ] squares = [ ] for x in values : squares . append ( x ** 2 ) print squares [100, 441, 16, 49, 144] 列表推导式可以使用更简单的方法来创建这个列表: values = [ 10 , 21 , 4 , 7 , 12 ] squares = [ x ** 2 for x in values ] print squares [100, 441, 16, 49, 144] 还可以在列表推导式中加入条件进行筛选。 例如在上面的例子中,假如只想保留列表中不大于 10 的数的平方: values = [ 10 , 21 , 4 , 7 , 12 ] squares = [ x ** 2 for x in values if x <= 10 ] print squares [100, 16, 49] 也可以使用推导式生成集合和字典: square_set = { x ** 2 for x in values if x <= 10 } print ( square_set ) square_dict = { x : x ** 2 for x in values if x <= 10 } print (

【Python学习之路】循环

孤街醉人 提交于 2019-12-15 21:52:18
循环 循环的作用在于将一段代码重复执行多次。 while 循环 while <condition>: <statesments> Python 会循环执行 <statesments> ,直到 <condition> 不满足为止。 例如,计算数字 0 到 1000000 的和: i = 0 total = 0 while i < 1000000 : total += i i += 1 print total 499999500000 之前提到,空容器会被当成 False ,因此可以用 while 循环来读取容器中的所有元素: plays = set ( [ 'Hamlet' , 'Macbeth' , 'King Lear' ] ) while plays : play = plays . pop ( ) print 'Perform' , play Perform King Lear Perform Macbeth Perform Hamlet 循环每次从 plays 中弹出一个元素,一直到 plays 为空为止。 for 循环 for <variable> in <sequence>: <indented block of code> for 循环会遍历完 <sequence> 中所有元素为止 上一个例子可以改写成如下形式: plays = set ( [ 'Hamlet' ,

【Python学习之路】 Python 入门演示

折月煮酒 提交于 2019-12-15 21:34:29
Python 入门演示 简单的数学运算 整数相加,得到整数: 2 + 2 4 浮点数相加,得到浮点数: 2.0 + 2.5 4.5 整数和浮点数相加,得到浮点数: 2 + 2.5 4.5 变量赋值 Python 使用 <变量名>=<表达式> 的方式对变量进行赋值 a = 0.2 字符串 String 字符串的生成,单引号与双引号是等价的: s = "hello world" s 'hello world' s = 'hello world' s 'hello world' 三引号用来输入包含多行文字的字符串: s = """hello world""" print s hello world s = '''hello world''' print s hello world 字符串的加法: s = "hello" + " world" s 'hello world' 字符串索引: s [ 0 ] 'h' s [ - 1 ] 'd' s [ 0 : 5 ] 'hello' 字符串的分割: s = "hello world" s . split ( ) ['hello', 'world'] 查看字符串的长度: len ( s ) 11 列表 List Python用 [] 来生成列表 a = [ 1 , 2.0 , 'hello' , 5 + 1.0 ] a [1, 2.0,

pyx编译

醉酒当歌 提交于 2019-12-15 19:08:27
1. 初衷 最近学用python,python不愧是为程序员考虑的 编程 语言,写起来很快很方便,大大节省开发效率。而且,对于小规模程序,运行效率也不错。前两天写了一篇博文《【总结】学用python写程序》,大大地夸奖了python一番。不过这两天,我就受到“诅咒”了。数据规模稍微大一点,python的执行效率的差劲就体现出来了。这两天写的一个程序,尽管在我所知道的范围内,我做了python语言能做的优化,不过程序依然运行了五个小时之久。想把程序改成c++的,不过开发时间较长,而且未来可能还有改动。所以暂罢。 上网上查了查python效率的问题。一方面,网上这方面资料不是很多,例如:我们都知道stl里面set是用红黑树实现的,不过python的set怎么实现的,貌似网上没有。这说明用python的人貌似都不关心效率问题。另一方面,据网上资料说,python运行效率比java还慢。我作为c++程序员从前很鄙视java的运行效率,原来python还不如java呢!不过java是 虚拟机 ,python是解释器,为什么python更慢呢?原因在于python更加“面向对象”,python的所有类型都是对象,连最普通的整数变量都是对象,都要在运行的时候才能够确定类型、才能够动态创建......这大大加重了运行时的负担,所以运行效率才这么差。对比之下,同样的程序用cython写

python自学第25天 python基础 2019.12.15

强颜欢笑 提交于 2019-12-15 17:29:45
从今天开始学习一本电子书,扎实基本功,不三心二意,跳跃式学习了。 python之小白太玄晶。 本书共16章 1,开胃菜 2,使用python解释器 2.1调用python解释器 2.1.1参数传递 2.1.2交互模式 2.2解释器及其环境 2.2.1源程序编码 3,python简介 3.1,将python当作计算器 3.1.1数字 3.1.2字符串 3.1.3列表 4,深入python流程控制 4.1,if语句 4.2,for语句 4.3,range()函数 4.4,break和continue语句,以及循环中的else子句 4.5,pass语句 4.6,定义函数 4.7,深入python函数定义 4.7.1,默认参数值 4.7.2,关键参数 4.7.3可变参数列表 4.7.4参数列表的分拆 4.7.5Lambda形式 4.7.6,文档字符串 4.7.7,函数注解 4.8,插曲:编码风格。 5数据结构 5.1关于列表更多的内容 5.1.1把列表当作堆栈使用 5.1.2把列表当作队列使用 5.1.3列表推导式 5.1.4嵌套的列表推导式 5.2 del语句 5.3元组和序列 5.4集合 5.5字典 5.6循环技巧 5.7深入条件控制 5.8比较序列和其他类型 6模块 6.1深入模块 6.1.1 作为脚本来执行模块 6.1.2模块的搜索路径 6.1.3“编译的”python文件 6

python字符串高效拼接

℡╲_俬逩灬. 提交于 2019-12-14 12:57:30
众所周知,为了使字符串的使用如整形等基本类型一样安全,无副作用,字符被限定为不可变对象,也就是说绝大部分对字符串的修改操作将会创建新的字符串对象,而不是返回原字符串,这就容易造成不断创建对象,申请内存的低效操作。在项目中,字符串拼接是一个高频场景,下面就让我们来看一看如何高效的拼接字符串。 方式一:通过 “ + ” 号拼接 不推荐 str1 = "a" str2 = "b" str3 = "c" print( str1 + str2 + str3 ) >>>"abc" 使用这种方式进行字符串连接的操作效率低下,因为python中使用 + 拼接两个字符串时会生成一个新的字符串 上诉 str1+str2+str3 执行过程解析成 >>> str1 + str2 + str3 temp = str1 + str2 final = temp + str3 生成新的字符串就需要重新申请内存,当拼接字符串较多时自然会影响效率。 方式二:格式化% 或者 format 推荐 str1 = "a" str2 = "b" str3 = "%s%s" % (str1,str2) str4 = "{}{}".format(str1,str2) #下面是for循环拼接一个字符串时候的使用 content = u"" for i in range(20): content= u"{}{}".format

Python 列表\\集合\\ 字典推导式、生成器表达式

我只是一个虾纸丫 提交于 2019-12-14 11:27:16
Python 列表\集合 字典推导式、生成器表达式 列表推导式 循环模式 l1 = [i for i in range(1,11)] l2 = [i ** 2 for i in range(100)] l3 = [f'python{i}' for i in range(50)] 筛选模式: l1 = [i for i in range(1,31) if i % 3 == 0] 嵌套循环: names = [['tom','billy','jefferson'],['wesley','steven','jennifer']] e = [ name for i in names for name in i if name.count('e') == 2] e = ['jefferson','wesley','steven','jennifer'] 生成器表达式 # [] 变 () 循环模式: g = (i for i in range(1,11)) print(next(g)) #1 print(next(g)) #2 筛选模式 g = (i for i in range(50) if ...) print(next(g)) #1 print(next(g)) #2 优缺点: 列表推导式-缺点: ​ 有毒,不要太着迷 ​ 超过三层循环才能构建成功的,不建议使用 ​ 无法使用Debug