zoukankan      html  css  js  c++  java
  • python-复杂生成式

    1、复杂的列表生成式HTML表格:

    注:字符串可以通过%进行格式,用指定的参数化代替%s。字符串的join()方法可以把一list拼接成一个字符串。

    把没有几个的分数标记为红色:

    d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59 }
    def generate_tr(name, score):
        if score < 60
        return '<tr><td>%s</td><td style="color:red">%s</td></tr>' % (name, score)
    return '<tr><td>%s</td><td>%s</td></tr>' % (name, score)
    tds = [generate_tr(name, score) for name, score in d.iteritems()]
    print '<table border="1">'
    print '<tr><th>Name</th><th>Score</th><tr>'
    print ' '.join(tds)
    print '</table>'

    2、条件过滤

    列表生成式的for循环后面还可以加上if判断:

    把list中的所有字符串变成大写后返回,非字符串元素将被忽略

    提示:

    1、isintance(x,str)可以判断变量x是否是字符串

    2、字符串的upper()方法可以返回大写字母

    def toUppers(L):
        return [x.upper() for x in L if isinstance(x,str)]

    print toUppers(['Hello', 'world', 101])

    3、多层表达式

    for循环可以嵌套,因此列表生成式中,可以可以用多层for循环来生成列表

    如:对字符串‘ABC’和‘123’,可以使用两层村换,生成全排列

    [n+m for m in 'ABC' for n in '123']

    练习:利用三层嵌套for循环,找出对称的3位数 如121

    print [100*m+10*n+m for m in range(1,10) for n in range (0,10)]

    L=[]
    for x in range(1,10):
        for y in range(10):
            for z in range(1,10):
                if x==z :
                    L.append(100*x+10*y+z)
    print L

  • 相关阅读:
    python函数
    python数据类型补充,copy知识点及文件的操作
    python数据类型
    python介绍
    Linux基础2-2 基础文件管理命令
    Linux基础2-1 根文件系统分析
    Linux基础1-3 命令使用帮助的获取
    Linux基础1-2 ls、cd、date、clock、cal、echo、printf命令使用简介
    Linux基础1-1
    fastDFS环境搭建
  • 原文地址:https://www.cnblogs.com/liuqingqing/p/6750368.html
Copyright © 2011-2022 走看看