热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python3学习笔记(7)_listComprehensions

1#python3学习笔记1707112#!usrbinenvpython33#-*-conding:utf-8-*-45#通过列表生成式可以生成格式各样的l
 1 #python3 学习笔记17/07/11
2 # !/usr/bin/env python3
3 # -*- conding:utf-8 -*-
4
5 #通过列表生成式可以生成格式各样的list,这种list 一般是容量小的list
6 #导入os模块,模块的概念后面讲到
7 import os
8 #生成[1,2,3,4,5,6,7,8,9,10]
9 l1 = list(range(1,11))
10 print("1-10",l1)
11
12 # 生成[1*1, 2*2,...10*10]
13 l2 = []
14 for x in range(1, 11):
15 l2.append(x * x)
16 print("平方",l2)
17
18 #比用for循环更简洁的方法,用生成式
19 print("平方",[x * x for x in range(1,11)])
20
21 #for 循环后面可以加上if 判断,这样我们就可以筛选出 仅奇数 或 偶数的平方
22 print("偶数平方",[x * x for x in range(1, 11) if x % 2 == 0])
23 print("奇数平方",[x * x for x in range(1, 11) if x % 2 != 0])
24
25 #使用 两层循环,生成全排列
26 print([m+n for m in 'ABC' for n in 'XYZ'])
27
28 #列出当前文件所在目录下的文件和目录
29 print([d for d in os.listdir('.')])
30
31 #列表生成式 可以使用两个变量来生成list
32 d1 = {'x':'A', 'y':'B', 'z':'C'}
33 print([k + '=' + v for k, v in d1.items()])
34
35 #用列表生成式 把一个list中的所有字符串变成小写
36 L = ["Hello", "World"]
37 print("lower case ", [s.lower() for s in L])
38
39 #列表生成器,列表生成式 用[],而列表生成器用(),列表生成器会在生成列表的时候自动计算后续的元素,而不会像生成式子一样一次生成所有元素,从而节省空间
40 L1 = [x *x for x in range(10)]
41 print(L1)
42
43 #列表生成器
44 g = (x * x for x in range(10))
45 #用next() 函数获取下一个生成的元素
46 for n in g:
47 print(n)
48
49 #用普通函数 打印斐波那契数列
50 def fib(max):
51 n, a, b = 0, 0, 1
52 while n < max:
53 print(n, b)
54 a, b = b, a + b
55 n = n + 1
56 return 'done'
57
58 fib(6)
59
60 #将 print(b) 换成 yield b 这个函数就变成了生成器
61 def fibg(max):
62 n, a, b = 0, 0, 1
63 while n < max:
64 yield b
65 a, b = b , a + b
66 n = n + 1
67 return 'done'
68
69 #把函数改成 generator后,我们一般不用next()函数来取下一个返回值,而直接使用for循环来迭代
70 for n in fibg(6):
71 print(n)
72 #generator 拿不到return语句的返回值,如果要拿到返回值,必须捕获stopIteration
73 g = fibg(6)
74 while True:
75 try:
76 x = next(g)
77 print("g: ",x)
78 except StopIteration as e:
79 print('Generator return value:', e.value)
80 break
81 else:
82 pass
83 finally:
84 pass

 


推荐阅读
  • 大类|电阻器_使用Requests、Etree、BeautifulSoup、Pandas和Path库进行数据抓取与处理 | 将指定区域内容保存为HTML和Excel格式
    大类|电阻器_使用Requests、Etree、BeautifulSoup、Pandas和Path库进行数据抓取与处理 | 将指定区域内容保存为HTML和Excel格式 ... [详细]
  • 利用python爬取豆瓣电影Top250的相关信息,包括电影详情链接,图片链接,影片中文名,影片外国名,评分,评价数,概况,导演,主演,年份,地区,类别这12项内容,然后将爬取的信息写入Exce ... [详细]
  • Visual Studio Code (VSCode) 是一款功能强大的源代码编辑器,支持多种编程语言,具备丰富的扩展生态。本文将详细介绍如何在 macOS 上安装、配置并使用 VSCode。 ... [详细]
  • 本文介绍如何使用 Python 的 DOM 和 SAX 方法解析 XML 文件,并通过示例展示了如何动态创建数据库表和处理大量数据的实时插入。 ... [详细]
  • 本文详细介绍了如何使用Python中的smtplib库来发送带有附件的邮件,并提供了完整的代码示例。作者:多测师_王sir,时间:2020年5月20日 17:24,微信:15367499889,公司:上海多测师信息有限公司。 ... [详细]
  • 本文介绍了如何利用 `matplotlib` 库中的 `FuncAnimation` 类将 Python 中的动态图像保存为视频文件。通过详细解释 `FuncAnimation` 类的参数和方法,文章提供了多种实用技巧,帮助用户高效地生成高质量的动态图像视频。此外,还探讨了不同视频编码器的选择及其对输出文件质量的影响,为读者提供了全面的技术指导。 ... [详细]
  • 本文介绍了如何使用Python的Paramiko库批量更新多台服务器的登录密码。通过示例代码展示了具体实现方法,确保了操作的高效性和安全性。Paramiko库提供了强大的SSH2协议支持,使得远程服务器管理变得更加便捷。此外,文章还详细说明了代码的各个部分,帮助读者更好地理解和应用这一技术。 ... [详细]
  • 属性类 `Properties` 是 `Hashtable` 类的子类,用于存储键值对形式的数据。该类在 Java 中广泛应用于配置文件的读取与写入,支持字符串类型的键和值。通过 `Properties` 类,开发者可以方便地进行配置信息的管理,确保应用程序的灵活性和可维护性。此外,`Properties` 类还提供了加载和保存属性文件的方法,使其在实际开发中具有较高的实用价值。 ... [详细]
  • 本文介绍了一种自定义的Android圆形进度条视图,支持在进度条上显示数字,并在圆心位置展示文字内容。通过自定义绘图和组件组合的方式实现,详细展示了自定义View的开发流程和关键技术点。示例代码和效果展示将在文章末尾提供。 ... [详细]
  • DAO(Data Access Object)模式是一种用于抽象和封装所有对数据库或其他持久化机制访问的方法,它通过提供一个统一的接口来隐藏底层数据访问的复杂性。 ... [详细]
  • 本文介绍了在 Java 编程中遇到的一个常见错误:对象无法转换为 long 类型,并提供了详细的解决方案。 ... [详细]
  • 实验九:使用SharedPreferences存储简单数据
    本实验旨在帮助学生理解和掌握使用SharedPreferences存储和读取简单数据的方法,包括程序参数和用户选项。 ... [详细]
  • 第二十五天接口、多态
    1.java是面向对象的语言。设计模式:接口接口类是从java里衍生出来的,不是python原生支持的主要用于继承里多继承抽象类是python原生支持的主要用于继承里的单继承但是接 ... [详细]
  • 如何将TS文件转换为M3U8直播流:HLS与M3U8格式详解
    在视频传输领域,MP4虽然常见,但在直播场景中直接使用MP4格式存在诸多问题。例如,MP4文件的头部信息(如ftyp、moov)较大,导致初始加载时间较长,影响用户体验。相比之下,HLS(HTTP Live Streaming)协议及其M3U8格式更具优势。HLS通过将视频切分成多个小片段,并生成一个M3U8播放列表文件,实现低延迟和高稳定性。本文详细介绍了如何将TS文件转换为M3U8直播流,包括技术原理和具体操作步骤,帮助读者更好地理解和应用这一技术。 ... [详细]
  • Python 序列图分割与可视化编程入门教程
    本文介绍了如何使用 Python 进行序列图的快速分割与可视化。通过一个实际案例,详细展示了从需求分析到代码实现的全过程。具体包括如何读取序列图数据、应用分割算法以及利用可视化库生成直观的图表,帮助非编程背景的用户也能轻松上手。 ... [详细]
author-avatar
小兔纸77
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有