• python关于for循环的几个函数


    1.enumerate:返回2个值,1是当前的for循环的第几轮,2是循环得到的数值

    enumerate works by supplying a corresponding index to each element in the list that you pass it. Each time you go through the loop, index will be one greater, and item will be the next item in the sequence.

    choices = ['pizza', 'pasta', 'salad', 'nachos']
    
    print 'Your choices are:'
    for index, item in enumerate(choices):
        print index+1, item

    运行结果如下:

    Your choices are:
    1 pizza
    2 pasta
    3 salad
    4 nachos
    None

    2.zip:根据最小的列表,pairs它们

    It's also common to need to iterate over two lists at once. This is where the built-in zip function comes in handy.

    zip will create pairs of elements when passed two lists, and will stop at the end of the shorter list.zip can handle three or more lists as well!

    例子:

    list_a = [3, 9, 17, 15, 19]
    list_b = [2, 4, 8, 10, 30, 40, 50, 60, 70, 80, 90]
    
    for a, b in zip(list_a, list_b):
        # Add your code here!
        if a >= b:
            print a
        else: 
            print b

    第一组得到a=3 b=2 输出3,第二组得到a=9 b=4 输出9。。。以此类推。

    3.For / else:for里面有break时,else的内容不执行。

    In this case, the else statement is executed after the for, but only if the for ends normally—that is, not with a break. This code will break when it hits 'tomato', so the else block won't be executed.

    fruits = ['banana', 'apple', 'orange', 'tomato', 'pear', 'grape']
    
    print 'You have...'
    for f in fruits:
        if f == 'tomato':
            print 'A tomato is not a fruit!' # (It actually is.)
            break
        print 'A', f
    else:
        print 'A fine selection of fruits!'

    ps:小练习题:

    1.验证一个数是整数:

    def is_int(x):
        if int(x) == x:
            return True
        else:
            return False

     2.将类似于1234的数值加起来:1+2+3+4 = 10

    方法1:转换为字符,将数字一个个取出来

    def digit_sum(n):
        s = str(n)
        sum = 0
        for s1 in s:
            sum += int(s1)
        return sum 

    方法2:使用%和/得到一个个数字

    def digit_sum(n):
        sum = 0
        while n > 0:
            sum += (n % 10)
            n = int(n / 10)
        return sum
            

    3.迭代计算阶乘

    def factorial(x):
        f = 1
        while x > 1:
            f = f * x
            x -= 1
        return f

    4.判断是否是质数

    def is_prime(x):
        if x == 1:
            return False
        elif x == 2:
            return True
        else:
            s = 2
            while s != x:
                if x % s == 0:
                    return False
                s += 1
            else:
                return True

    5.倒序输出一个字符串:

    def reverse(text):
        s = ""
        for i in range(0,len(text)):
            a = text[len(text) -1 - i]
            s = s + a
        return s

     6.返回输入列表中不重复的内容:

    def remove_duplicates(list):
        s = []
        for i in list:
                if i not in s:
                    s.append(i)
        return s

     7.返回一个列表里的中值:

    def median(list):
        list_sorted = sorted(list)
        length = len(list_sorted)
        print list_sorted
        if length % 2 == 0:
            return float(list_sorted[length/2 - 1] + list_sorted[length/2])/2
        else:
            return list_sorted[length/2]

  • 相关阅读:
    第一次极限测试效果图-完整四张
    第一次极限测试效果图
    ajax遍历list数据解决方法
    读书笔记1
    读书笔记2
    读书笔记3
    每日学习
    关于根据数据反选checkbox
    zabbix监控kernel.pid_max
    React 学习项目1
  • 原文地址:https://www.cnblogs.com/bangbangjiang/p/3375840.html
Copyright © 2020-2023  润新知