for循环 时间效率

群里有人问for循环的问题,题目是大循环套小循环,和小循环套大循环的时间比较

我写的程序(java)

 

 



public class Test {

    /**
     * @param args
     */
   
    public static void main(String[] args) {
        // TODO Auto-generated method stub

       
        long   Lstart   =   System.currentTimeMillis();
        LittleTime();
        long   Lend   =   System.currentTimeMillis();
        long   Lcosttime   =   Lend   -   Lstart;
        System.out.println("L:"+Lcosttime);
        long   Bstart   =   System.currentTimeMillis();
        BigTime();
        long   Bend   =   System.currentTimeMillis();
        long   Bcosttime   =   Bend   -   Bstart;
        System.out.println("B:"+Bcosttime);
       
       
    }
   
    public static void LittleTime(){
        long n=0;
        for(int i=0;i<10;i++){
            for(int j=0;j<100000000;j++){
                while(n<1000000000)n++;
            }
        }

       
    }
    public static void BigTime(){
        long n=0;
        for(int i=0;i<100000000;i++){
            for(int j=0;j<10;j++){
                while(n<1000000000)n++;
            }
        }

       
    }

}

 


 

结果是

L:8422
B:10734

所以我觉得java中小循环套大循环效率高

 

自己的意见

在Python编程中,循环是非常常见和重要的数据处理方式。然而,Python的解释性语言特性,对循环的执行效率会有一定的影响。因此,在处理大量数据和复杂计算时,循环效率的提升显得尤为重要。下面从以下几个方面介绍如何提高Python for循环效率。 1.列表推导式 列表推导式是Python中比较高效的列表生成方式,可以用速生成列表。例如: ``` squares = [x**2 for x in range(10)] ``` 这个列表推导式相当于以下for循环: ``` squares = [] for x in range(10): squares.append(x**2) ``` 通过使用列表推导式,可以避免在循环中使用append()方法将元素一个一个添加到列表中的效率问题,从而提高for循环效率。 2.使用range()函数代替enumerate()迭代器 在Python中,enumerate()迭代器可以同时获取索引和元素。然而,在对于大量数据的处理过程中,enumerate()迭代器效率较低。此时,可以使用Python自带的range函数来替代enumerate迭代器进行遍历,例如: ``` lst = ['a', 'b', 'c', 'd', 'e'] for i in range(len(lst)): print(i, lst[i]) ``` 3.尽量避免多重循环和嵌 在Python中,多重循环(nested loops)和嵌会增加时间复杂度,导致程序效率变低。因此,在编写代码时,应该尽量避免多重循环和嵌的情况,并尝试使用其他算法解决问题。 4.使用map()和filter()函数 Python中的map()和filter()函数可以用来代替循环操作,从而实现高效的数据处理和计算。map()函数可以对序列中每个元素进行操作,filter()函数可以对序列中每个元素进行筛选。例如: ``` lst = [1, 2, 3, 4, 5] new_lst = list(map(lambda x: x**2, lst)) new_lst = list(filter(lambda x: x % 2 == 0, lst)) ``` 这里利用map()和filter()函数实现了对列表中每个元素的平方和偶数筛选,从而避免了显式的循环操作。 总之,Python的循环效率可以通过多种方式进行提高,例如列表推导式、range()函数代替enumerate()迭代器、避免多重循环和嵌及使用map()和filter()函数等方法。在实际使用中,我们应该根据情况选择合适的方法来提高程序的效率,从而减少计算时间和提高程序的性能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值