首页 > 编程语言 >流畅的python笔记 (二) 2.序列构成的数组

流畅的python笔记 (二) 2.序列构成的数组

时间:2023-10-04 17:56:01浏览次数:48  
标签:推导 python 生成器 笔记 列表 数组 序列 array 表达式

内置序列类型

分类1:

容器序列(能存放不同类型):list,tuple,collections.deque

扁平序列(不能存放不同类型):str,bytes,bytearray,memoryview,array.array

分类2:

可变序列(能被修改):list,bytearray,array.array,collections.deque,memoryview

不可变序列:tuple,str,bytes

列表推导和生成器表达式

列表推导是构建列表的快捷方式,而生成器表达式则可以用来创建其他任何类型的序列

列表推导:通常,只用列表推导来创建新的列表,并且尽量保持简短

 

 列表推导的作用只有一个:生成列表。如果想生成其他类型的序列,生成器表达式就派上了用场。

生成器表达式:列表推导也可以来初始化元组,数组,或其他序列类型,但生成器表达式是更好的选择。其背后遵守了迭代器协议,可以逐个地产出元素,而不是先建立一个完整的列表,然后在把这个列表传递到某个构造函数里。前面那种方式显然能够节省内存。生成器表达式是把方括号换成了圆括号。

 

 

标签:推导,python,生成器,笔记,列表,数组,序列,array,表达式
From: https://www.cnblogs.com/Zhaolongtao/p/17742437.html

相关文章

  • python练习2 | 类的继承
    点击查看代码#类继承练习:人力系统#员工分为两类,全职员工FullTimeEmployee、兼职员工PartTimeEmployee#全职和兼职都有”姓名,name,工号:id属性#都具备打印信息print_info(打印姓名、工号)方法#全职有月薪monthly_salary属性#兼职有日薪daily_salary属性,每月工作天数......
  • 十四天学会C++之第三天(数组和字符串)
    1.数组的定义和初始化数组是一种由相同数据类型的元素组成的集合,这些元素按照一定的顺序存储在连续的内存位置上。数组的大小在创建时是固定的,无法在运行时改变。在C++中,数组的定义和声明非常简单。定义一个数组:数据类型数组名[数组大小];数据类型可以是整数、浮点数、字符等,数组......
  • Python笔记
    第一章、Python概述1.1 扩展库安装方法使用pip命令安装扩展库。在cmd命令行中输入pip,回车后可以看到pip命令的使用说明。1.2 常用的pip命令pip命令示例说明pipfreeze[>requirements.txt]列出已安装扩展库及其版本号(不知道怎么用。。?)pipinstallSomePacka......
  • 2023-10-04:用go语言,现有一棵无向、无根的树,树中有 n 个节点,按从 0 到 n - 1 编号 给你
    2023-10-04:用go语言,现有一棵无向、无根的树,树中有n个节点,按从0到n-1编号给你一个整数n和一个长度为n-1的二维整数数组edges,其中edges[i]=[ai,bi]表示树中节点ai和bi之间存在一条边。每个节点都关联一个价格。给你一个整数数组price,其中price[i]是第i......
  • Python万物皆对象
    Python中一切均为对象Python从设计之初为一门面向对象语言也就是说,实际上不管是数字、字符串、元组、列表、字典、函数、方法、类、模块甚至你的代码都是对象。对象的概念什么是Python中的对象呢?在Python中,定义是松散的,某些对象既没有属性也没有方法,而且不是所有的对象都......
  • 2023-10-04:用go语言,现有一棵无向、无根的树,树中有 n 个节点,按从 0 到 n - 1 编号 给你
    2023-10-04:用go语言,现有一棵无向、无根的树,树中有n个节点,按从0到n-1编号给你一个整数n和一个长度为n-1的二维整数数组edges,其中edges[i]=[ai,bi]表示树中节点ai和bi之间存在一条边。每个节点都关联一个价格。给你一个整数数组price,其中price[i]是......
  • 【做题笔记】dp,但是国庆限定版
    Day1方块消除传送门看到这个数据范围就可以猜测正解是\(O(n^4)\)的dp,与这个差不多相符合的可以想到区间dp。然后大胆猜测一下就是区间dp,令\(dp[i][j]\)表示消除掉\([i,j]\)后的最大价值,这个显然可以从长度更短的区间转移过来。所以此题我们可以从区间dp的方向思考......
  • 02-JZ4 二维数组中的查找
    我的想法:暴力:按行遍历,比较---O(m*n)折半:行折半查找;有n行,折半n次----O(nlgn)问题:不满足时间复杂度O(m+n)正确思路:左下角开始比较arr[i][0]>target--往小找,往上走,i--;arr[i][0]<target--往大找,往右走,j++;arr[i][0]==target,即找到循环截至条件,超出数组边界适用场景:迷宫......
  • python练习1| 实现学生类
    定义一个学生类,属性包含姓名,学号,语数外三门的成绩要求:能够设置学生某科目的成绩;能打印该学生的所有科目成绩点击查看代码classStudent:def__init__(self,student_name,student_id):self.name=student_nameself.student_id=student_idse......
  • 《敏捷软件需求》阅读笔记一
    以下是关于敏捷软件需求这本书籍的前八章的阅读心得体会,涵盖了每章的主要观点和个人体会:第一章:敏捷方法概述    第一章介绍了敏捷方法的起源和核心原则,其中最关键的原则是个体与交互、工作的软件、客户合作和响应变化。我学到了敏捷方法的灵活性和迭代开发是应对不断变化......