-
2022-06-02 16:13:29
代码:
for i in range(len(l_name)): max_name = l_name[i] min_body = l_body[i] for j in range(i+1,len(l_name)):
更多相关内容 -
python日记(二):密集计算加速(双重for循环为例)
2021-01-20 02:06:38前情提要:python在处理高时间复杂度的双重for循环时候效率低,而多线程又不适合于计算密集的任务提速。昨天睡之前让电脑自己运行17000*17000的计算,结果跑了19000秒。 因此尝试寻求为python提速的解决方案。在那... -
python双重for循环案例-Python基础 之for循环嵌套实例
2020-11-11 14:19:13一、在控制台中输出以下字符样式:"""***************"...for r in range(3):#0 1 2for c in range(5):#01234 01234 01234print("*",end = "") #在一行输出print()...一、在控制台中输出以下字符样式:
"""
*****
*****
*****
"""
for r in range(3):#0 1 2
for c in range(5):#01234 01234 01234
print("*",end = "") #在一行输出
print() #换行
二、在控制台中输出以下字符样式
"""
******
######
******
######
"""
for r in range(4):#0 1 2 3
for c in range(6):if r % 2 ==0:print("*", end="")else:print("#", end="")print() #换行
三、在控制台中输出以下字符样式
"""
4行 内层循环索引
# 0
## 01
### 012
#### 0123
"""
for r in range(4):#0 1 2 3
for c in range(r+1):#0 01 012 0123
print("#", end="")print()
四、在控制台中输出以下字符样式
"""
4行 空格 #
#### 0123
### 0 012
## 01 01
# 012 0
"""
for r in range(4):#0 1 2 3
for c in range(r):#0 01 012
print(" ", end="")for c in range(4-r):#0123 012
print("#", end="")print()
五、列表中是否具有相同元素
[1,4,7,4,8,0,6]
核心:所有元素间两两比较
思想:
取出第一个元素,与后面(1,2,3....)进行比较.
取出第二个元素,与后面(2,3....)进行比较.
取出第三个元素,与后面(3....)进行比较.
list01 = [1, 4, 7, 4, 8, 0, 6]#if list01[0] == list01[1]:#print("具有相同元素")#
#if list01[0] == list01[2]:#print("具有相同元素")#
#if list01[0] == list01[3]:#print("具有相同元素")
## 取出第一个元素,与后面(1,2,3....)进行比较.#for c in range(1,len(list01)):#if list01[0] == list01[c]:#print("具有相同元素")#
## 取出第二个元素,与后面(2,3....)进行比较.#for c in range(2,len(list01)):#if list01[1] == list01[c]:#print("具有相同元素")#
## 取出第三个元素,与后面(3....)进行比较.#for c in range(3,len(list01)):#if list01[2] == list01[c]:#print("具有相同元素")
state= False #假设没有相同元素#取出前几个元素
for r in range(len(list01) - 1):#与后面元素进行比较
for c in range(r + 1, len(list01)):#如果发现相同元素
if list01[r] ==list01[c]:
state=Truebreak #只能退出就近(内)循环体
ifstate:break #退出外层循环
ifstate:print("具有相同元素")else:print("没有相同元素")
六、# 对列表进行排序: [1,4,7,4,8,0,6]
# 核心:两两元素进行比较
# 发现更大的或者更小的则交换
# 降序 升序
for r in range(len(list01) - 1):for c in range(r + 1, len(list01)):if list01[r] >list01[c]:#交换
list01[r], list01[c] =list01[c], list01[r]print(list01)
-
python双重for循环优化方法。
2020-08-31 14:54:06有些特殊需求需要用双重for循环遍历图像来操作例如下面代码 def getbinarizationimg(simg, targeth, targetw): print(simg.shape) h,w,c = simg.shape box = np.zeros((h, w),dtype=np.uint8) pole = np.zeros...用python做图像处理。有些特殊需求需要用双重for循环遍历图像来操作例如下面代码
def getbinarizationimg(simg, targeth, targetw): print(simg.shape) h,w,c = simg.shape box = np.zeros((h, w),dtype=np.uint8) pole = np.zeros((h, w),dtype=np.uint8) for u in range(h): for v in range(w): if simg[u][v][0] == 0 and simg[u][v][1] == 220 and simg[u][v][2] == 220: box[u][v] = 255 img_box = cv2.resize(box, (targetw, targeth), fx=0, fy=0, interpolation=cv2.INTER_NEAREST) return img_box
图像大小为1024 * 2048 .主函数中测试结果如下
elapse_time = 3.5969557762145996 elapse_time = 3.608659029006958 elapse_time = 3.667614459991455 elapse_time = 3.546481132507324
直接疯掉的节奏啊。后来看到KCF算法中有个加速方法,拿来用用
from numba import jit @jit() def getbinarizationimg(simg, targeth, targetw): print(simg.shape) h,w,c = simg.shape box = np.zeros((h, w),dtype=np.uint8) pole = np.zeros((h, w),dtype=np.uint8) for u in range(h): for v in range(w): if simg[u][v][0] == 0 and simg[u][v][1] == 220 and simg[u][v][2] == 220: box[u][v] = 255 img_box = cv2.resize(box, (targetw, targeth), fx=0, fy=0, interpolation=cv2.INTER_NEAREST) return img_box
elapse_time = 0.29776477813720703 elapse_time = 0.0017366409301757812 elapse_time = 0.001975536346435547 elapse_time = 0.001725912094116211 elapse_time = 0.0018794536590576172
性能差不少啊。
-
python 双重for循环输出题目
2021-08-19 19:53:30输出: ...for i in range(1,6): for j in range(1,i+1): print(j,end=" ") print() for i in range(4,0,-1): for j in range(1,i+1): print(j,end=" ") print() 输出: 1 1 2 1 1 2 3...输出:
1
12
123
1234
12345
1234
123
12
1for i in range(1,6): for j in range(1,i+1): print(j,end=" ") print() for i in range(4,0,-1): for j in range(1,i+1): print(j,end=" ") print()
输出:
1
1 2 1
1 2 3 2 1
1 2 3 4 3 2 1for i in range(1,5): a='' for j in range(1,i+1): a+=str(j) b=a+a[-2::-1] print(" "*((5-i)*2),' '.join(b))
输出:
0
12
345
6789a=0 b=1 for i in range(1,5): for j in range(a,b): print(j,end='') print() a=a+i b=b+i+1
-
python跳出双层for循环的解决方法
2021-01-01 11:57:34在二维数组的遍历中,我们经常使用双层for循环。在某些时候,我们并不需要遍历整个二维数组。当条件满足时就应该终止for循环。但是,直接在内层循环中break并不会让外层循环也终止。 二.解决方案 使用for…else…... -
理解 Python 的 for 循环
2020-12-08 17:12:02在本篇博客中,我们将讨论 Python 中 for 循环的原理。我们将从一组基本例子和它的语法开始,还将讨论与 for 循环关联的 else 代码块的用处。然后我们将介绍迭代对象、迭代器和迭代器协议,还会学习如何创建自己的... -
python基础(五)-双重for循环
2021-07-24 14:13:232.外层循环和内层循环的逻辑关系 3.编写输出内容,进一步调整 经典案例 案例一 解析: 第一行:输出1 rang(1,2) 第二行:输出1,2 rang(1,3) 第三行:输出1,2,3 rang(1,4) 第四行:输出1,2,3,4 rang(1,4... -
Python 使用双重循环打印图形菱形操作
2020-09-16 10:22:57主要介绍了Python 使用双重循环打印图形菱形操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 -
Python中在for循环中嵌套使用if和else语句的技巧
2020-12-25 15:34:09Python中,for…[if]…语句一种简洁的构建List的方法,从for给定的List中选择出满足if条件的元素组成新的List,其中if是可以省略的。下面举几个简单的例子进行说明。 >>> a=[12, 3, 4, 6, 7, 13, 21] >>> newList =... -
python的for循环怎么理解
2020-11-30 04:03:01python的for循环怎么理解?for循环for循环可以用来遍历某一对象(遍历:通俗点说,就是把这个循环中的第一个元素到最后一个元素依次访问一次)。for循环的基本结构如下:具体看这个案例:设计一个函数,在桌面创建10... -
如何优化Python中的嵌套for循环
2021-04-27 03:41:58纽比广播如果不受内存限制,优化numpy中嵌套循环的第一步是使用广播并以矢量化的方式执行操作:import numpy as npdef mb_r(forecasted_array, observed_array):"""Returns the Mielke-Berry R value."""assert len... -
Python双层for循环
2019-11-14 17:22:26matrix0 = [[1, 2], [3, 3], [2, 1]] print 'matrix0:', matrix0...matrix1 = [[1 for i in range(2)] for i in range(3)] print 'matrix1:', matrix1 matrix2 = [[0 for i in range(2)] for i in range(3)] print... -
Python的for循环写在一行
2022-04-05 20:05:23不要问我为什么写这篇博客,问就是for循环这样写非常有福格(CSDN好像不能有不雅词汇,只能改了,哈哈哈) 在学习机器学习是看到鸢尾花数据时,看到有一个操作,就是for循环写在一行,当时直接懵了 X=[x[0] for x... -
python语法 3.1 双重for循环
2018-02-25 14:25:02# -*- coding:utf-8 -*- # -Author: Paulliam - for i in range(5): print("---------",i) for j in range(10): print(j) ... break #结束本次循环 ##########运行结果:"D:\Pr... -
python中的嵌套for循环
2020-12-03 12:47:18然而,这些虽然很好,但却降低了优柔寡断的可读性,而且既然您现在开始使用Python,那么一件重要的事情就是学会用Python的方式在“for”循环中进行思考。在Python循环的方法是:不迭代索引-你有序列,你想对序列中的... -
python通过for循环打印九九乘法表
2022-04-16 18:21:23for i in range(1,10): for j in range(1,i+1): print('%d*%d=%d'%(j,i,j*i),end='\t') print() -
python多层for循环的跳出
2021-06-07 14:23:43python多层for循环的跳出 用 for ... else ...语句,配合break 和 continue即可实现 例子: 下面是一个两层循环,当内层循环满足判定条件时,结束两层循环,如下所示: for i in range(3): for j in range(6): ... -
python 双层for循环的跳出
2020-09-04 23:26:501.while.....else的使用... for循环正常执行完成后,else会继续执行 break会跳出for循环,else部分 3,双层for循环的跳出 当次循环正常结束的时候才会执行else中的语句(如果当次循环执行了break,那么else不会执行) -
Python:慢嵌套for循环
2021-04-27 03:42:02我在四个嵌套的for循环中执行它,因为它需要大约O(n^4)次迭代,所以速度很慢。我一直想快点,但还是很慢。我的变量可能高达几千个。在下面是一个小例子,说明我要做的事情:max_disks = 5max_ssds = 5max_tapes = 1... -
为什么Python对于一个简单的for循环这么慢?
2020-11-30 10:59:32I think I am making mistakes because I know Python is used by lots of scientific projects.他们大量使用SciPy(NumPy是最突出的组件,但我听说了围绕NumPy的API开发的生态系统更加重要),大大加快了这些项目所需... -
python for循环经典案例
2021-01-08 15:52:43#for循环经典案例 #0到100的和 n=0 sum=0 for n in range(0,101): sum=sum+n print(sum) #循环嵌套实现九九口诀表 i=1 while i<=9: j=1 while j<=i: mut=i*j print("%d*%d=%d"%(j,i,mut),end=" ") j+=... -
pandas 向量化优化双重for循环
2021-03-14 19:22:52我用pandas 写了个sumbars,二次for循环,感觉效率很慢,需要用向量化优化一下,麻烦各位看看 def sumbars(df, s, n): #s表示列名 start = time() df2 = df[s].copy() # df2.loc[0]=1000 df['sumbars'] = 0 for i in... -
python_双层for循环初步练习
2020-01-29 16:55:48双层for循环简单练习 通过控制行和列,体会双层for循环 """ 4行5列 ***** ##### ***** ##### """ for r in range(4): for c in range(5): if r % 2 != 0 : print("*" , end = "") else: print("#" ,... -
如何用Python双重循环语句绘制菱形
2022-03-25 14:23:11用Python双重循环语句,绘制四边等长,每个角度为90度,每边20段虚线的菱形 -
Python初级双层for循环嵌套求素数合数和循环打印**
2021-07-19 18:19:02在学到python初阶双层循环嵌套的时候相信很多同学都会很难理解尤其是非计算机专业的同学,那么今天为了让大家能够更好的理解双层嵌套循环的含义和用法,我用两个经典的小案例来解释说明一下在python中双层嵌套循环... -
python利用for循环打印各种三角形
2020-11-23 12:39:12打印直角三角形print('打印直角三角形')for i in range(1,10):print('*'*i)打印倒立直角三角形for x in range(10):for i in range(x,10):print('*',end='')print('')同一行打印两个直角三角形print('同一行打印直角... -
python使用for...else跳出双层嵌套循环的方法实例
2021-03-17 15:10:21同理,由于此时不是正常退出内层for循环,所以不会执行后面的else语句,然后继续执行else后的berak语句,跳出外层for循环 综上,得到 target =[1, 2, 3, 4, 5, 6, 7, 8] 的结果 总结 到此这篇关于python使用for......