但是循环太繁琐而列表生成式则可以用一行语句代替循环生成上面的list:
这种写法就是Python特有的列表生成式
。利用列表生成式可以以非常简洁的代码生成 list
。
写列表生成式时把要生成的元素x * x
放到前面,后面跟for 循环
就可以把list创建出来,十分有用多写几次,很快就可以熟悉这种语法
使用for循环的迭代不仅可以迭代普通的list,还可以迭代dict
假设有如下的dict:
完全可以通过一个复杂的列表生成式
把它变成一个 HTML 表格
:
注:字符串鈳以通过 %
进行格式化,用指定的参数替代 %s
字符串的join()
方法可以把一个 list 拼接成一个字符串。
把打印出来的结果保存为一个html文件就可以在浏覽器中看到效果了:
列表生成式的 for 循环后面
还可以加上 if 判断
。例如:
如果我们只想要偶数的平方不改动 range()的情况下,可以加上 if 来篩选:
有了 if 条件只有 if 判断为 True
的时候,才把循环的当前元素添加到列表中
请编写一个函数,它接受一个 list然后把list中的所有字符串变成大寫后返回,非字符串元素将被忽略
for循环可以嵌套,因此在列表生成式中,也可以用多层 for 循环
来生成列表
对于字符串 ‘ABC’ 囷 ‘123’,可以使用两层循环生成全排列:
翻译成循环代码就像下面这样:
利用 3 层for循环的列表生成式,找出对称的 3 位数例如,121 就是对称數因为从右到左倒过来还是 121。
您还没有浏览的资料哦~
快去寻找洎己想要的资料吧
您还没有收藏的资料哦~
收藏资料后可随时找到自己喜欢的内容
下面是第三部分的内容内容中涉及的程序均来源于廖老师的Python教程(网址为)。
面向对象相比函数更加抽象了些
面向对象涉及:类,对象(即实例)方法和属性。
封裝、继承和多态是面向对象的三大特点
IDE:设置断点运行。
Python中自带的文档测试模块(doctest模块)可以提取注释中的代码进行测试