首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

python 序列高级用法

引言 本文我们详细介绍一下 Python 中现有的全部序列类型以及一些较为高级用法。 2. 序列分类 2.1. 按照存储内容 2.1.1....存储引用序列 list tuple colletions.deque 以上这些序列中存储是对象引用,因此他们不关心所引用存储对象类型,也就是说,在一个序列中可以放入不同类型对象。...不确定拆分结果获取 Python 允许被拆包赋值一系列变量中最多存在一个以 开始变量,他用来接收所有拆包赋值后剩下变量。args 用来获取不确定参数是最经典写法了。...元组拆包嵌套 元组拆包是可以嵌套,只要接受元组嵌套结构符合表达式本身嵌套结构,Python 就可以做出正确处理。 6.5....参考资料 《流畅 python》。

85630
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    python序列对象

    其实不然,在python中,有一种类型,称之为sequence, 序列类型,常见list, tuple, str, range都属于序列类型。...可变序列 不可变序列 元组, 字符串以及range类型是不可修改,属于不可变序列类型,list可以动态修改,属于可变序列类型。...对于序列类型,有以下通用操作 1.下标访问操作 python中下标从0开始计数,用方括号将下标括起来,用法如下 >>> a = [1, 2, 3, 4, 5] >>> a[0] 1 >>> a[-1]...5 python还支持负下标操作,从序列末尾进行计数,最后一个元素为-1, 倒数第二个为-2, 依次类推。...4, 5)) 5 5.min函数 min函数返回数值序列最小值,用法如下 >>> min((1, 2, 3, 4, 5)) 1 6. sum函数 sum函数返回数值序列总和,用法如下 >>> sum

    98910

    Python序列增量赋值

    += 背后特殊方法是 __iadd__,如果一个类没有实现 __iadd__ 方法,Python 会退一步调用 __add__ 方法。...总体来讲,可变序列一般都实现了 __iadd__ 方法,因此 += 是就地加法,而不可变序列根本就不支持这个操作。 *= 和 += 一样,只是背后特殊方法为 __imul__。...1298277978824 id(c) = 1298277978696 id(c) = 1298277978632 id(d) = 1298277972872 id(d) = 1298277136616 了解了序列增量赋值...,我们来看 Leonardo Rochael 在 2013 年 Python 巴西会议上提到谜题: t = (1, 2, [30, 40]) t[2] += [50, 60] A. t 变成 (1,...总结: 1、对不可变序列进行重复拼接操作的话,效率会很低,因为每次都要新建一个序列,然后把原来序列元素复制到新序列里,然后再追加新元素。 2、不要把可变对象放在元组里面。

    1.2K20

    Python 序列构成数组

    本文讨论 Python不同序列类型。 Python 标准库用 C 实现了丰富序列类型,可以按照包含对象类型和是否可修改进行分类。...包含对象类型 将 python 内置序列类型按照包含对象类型来分类,可以将其分为容器序列和扁平序列。 容器序列存放是它们所包含任意类型对象引用,而扁平序列里存放是值而不是引用。...扁平序列其实是一段连续内存空间。由此可见扁平序列其实更加紧凑,但是它里面只能存放诸如字符、字节和数值这种基础类型。 容器序列 容器序列能存放不同类型数据。...Python切片会创建一个完整副本,比如 list[:5] 会创建一个新 list 对象,包含了前 5 项数值。...() 数组转换为列表 是否可变 将Python 中内置序列按照能否修改也可以分为两类 可变序列 MutableSequence 表示可以修改序列中元素内容而不需要额外创建新对象 主要包含以下序列

    75720

    Python和Scala序列

    序列是一门高级语言里都会具备一种数据结构,Scala和Python也不例外。在不同语言里,序列有着各种不同别称以及增添了不同功能,今天只关注Scala和Python基本内置数据结构。...Python要介绍有两种,分别是列表和元组;Scala里则是数组,列表和元组。不要被相同名字糊弄了,Python和Scala列表和元组虽然同名,但本质上是不一样。..., 2, 3) 而Python列表是可以拥有各种类型对象可变序列(吐槽一下,Python列表初始化方式之一列表推导,在Python2会有内存泄漏问题,到Python3才修复了),比如我们可以在列表里放入数值和字符串..._再加序列号进行访问数据,之所以呢?根据《Scala编程》里解释,是因为Haskell等语言传统留下来)。...Python元组则是一个不可变能容纳各个类型元素序列,初始化和Scala很相似,使用方式很简单,使用中括号就可以了: tuple0 = (1,2) tuple0[0] 1

    74010

    python序列表_python序列表以及方法介绍(代码)

    大家好,又见面了,我是你们朋友全栈君。 本篇文章给大家带来内容是关于python序列表以及方法介绍(代码),有一定参考价值,有需要朋友可以参考一下,希望对你有所帮助。...有序列表以及有序列函数和方法(list)list = [‘hello’, ‘wrold’] # len 获取查询长度 length = len(list) # append 添加一个新元素,到list...末尾 list.append(‘admin’) # pop删除指定位置元素 list.pop(len(list)-1) # insert指定位置添插入元素 #两个参数 1.要插入位置 2.插入内容...list = [123,456] list1 = [789,101112] a = list.extend(list1) #[123,456,789,101112] #index list 找出第一个匹配项下标...,list元素必须为同一类型,返回最大值 #max返回列表最小值,list元素必须为同一类型,返回最小值 #数字直接比较大小 字符串比较ASCII list = [123, 456] print

    71220

    Python惰性序列

    Pythoniterator就是一个惰性序列,要说明什么是惰性序列,首先我们得知道什么是惰性计算。 事实上,很多如Java在内高级语言都支持惰性序列。...Python惰性序列 Python惰性序列多数指iterator,其特点正如同上文所述,具有惰性计算特点序列称为惰性序列。...博主解读:Pythoniterator是一个惰性序列,意思是表达式和变量绑定(比如:调用iter()得到了一个iterator并赋值给一个变量)后不会立即进行求值,而是当你用到其中某些元素时候才去求某元素对值...二是在大规模数据处理中起到延迟计算作用。当你处理大规模数据时,一次性进行处理往往是不方便。而惰性序列就可以解决这个问题,它把计算步骤延迟到了要实际使用该数据时候。...惰性序列可以看作是一个”流”,需要时候从其中取一滴水。

    1.9K70

    Python(二) 序列

    Python(二) 序列 常用序列结构:列表、元组、字符串、字典、range、zip、enumerate 等 1....1. 5 用于序列操作常用内置函数 any()用来测试序列或可迭代对象中是否存在等价于 True 元素 all()用来测试序列或可迭代对象中是否所有元素都等价于 True print("any...# 对字典值进行求和 print(sum([[1], [2], ["name"]], [])) # 非数值型,第二个参数需要指定 zip()方法、enumerate()方法参考 python...del 操作,只能用 del 命令删除整个元组 元组也支持切片操作,但只能通过切片来访问元组中元素 元组访问和处理速度比列表更快 元组属于不可变序列,其元素值是不可改变,但是元组中含有可变序列的话...,可以通过调用可变序列方法来改变可变序列值。

    1.7K30

    python序列(二)

    1.类型转换 2.可以通过函数list将其他可遍历类型转化为列表 3.使用range函数快速创建序列 4.range(end) 创建从0到end-1连续整数组成序列 5.range(start,...end) 创建从start到end-1连续整数组成序列 6.range(start, end, step)创建从start到end-1每间隔stop个整数组成序列 列表常见操作 1.获取list...,-n - 访问元素索引必须存在,否则报错 - 元素不能修改 元组四则运算 - - 加(+) - 必须为两个tuple相加 - 乘(*) - 必须一个为整数 ```python...练习: >>> (1,2,3)+(4,5,6) (1, 2, 3, 4, 5, 6) >>> (1,2,3)*2 (1, 2, 3, 1, 2, 3) ---- python表达式 结果 描述 len...] - tuple[:end] - tuple [start:] - tuple[:] ```python >>> nums = tuple(range(10)) >>> nums

    65730

    Python 序列类型

    本文内容:Python 序列类型 更多内容请见 Python 入门基础专栏 Python 字符串 Python 常用字符串方法 ---- Python 序列类型 1.什么是序列类型 2.通用序列类型操作...Python序列类型就能很好地解决这些问题。 序列类型是组合数据类型一类,能够将多个同类型或不同类型数据组织起来,通过单一表示使数据操作更有序更容易。...Python主要序列类型: 字符串(str):由按照一定顺序组合在一起字符来构成,如: 'Python' 列表(list):包含0个或多个不同类型元素可变序列类型,用方括号将元素包含在一起...,如: ['Python', 1, 3.14, [2, 2.71], '555'] 元组(tuple):包含0个或多个不同类型元素不可变序列类型,用圆括号将元素包含在一起,如: ('Python'...s[:-1] 获得新字符串“Python”,即从开头直到不包括最后一个字符之间 所有字符。

    57220

    Python:过滤序列filter()函数

    文章背景: 最近在学习廖雪峰老师Python文章,其中有个章节讲到是filter()函数,该函数用于过滤序列。在学习过程中,也顺带巩固了其它知识点,在此进行相应整理。...Python版本:Python 3.7 1 filter()函数 2 示例代码 2.1 保留奇数 2.2 删除序列空字符串 2.3 采用函数filter()求数 2.4 采用函数filter...(2)取序列第一个数2,它一定是质数,然后用2把序列中2倍数筛掉。 (3)取新序列第一个数3,它一定是质数,然后用3把序列中3倍数筛掉。...(4)取新序列第一个数5,然后用5把序列中5倍数筛掉。 (5)取新序列第一个数7,然后用7把序列中7倍数筛掉。 如此,不断筛下去,就可以得到所有的质数。...filter() 函数(https://www.runoob.com/python3/python3-func-filter.html) [3] Python 逻辑判断True/False坑(https

    93630

    Python中最长递增序列

    如何使用PythonN平方法和二进制搜索法计算一个数组中最长递增子序列。使用N平方法计算最长递增子序列Python社区中,有一个著名问题是关于最长递增子序列,在不同面试中也会被问到。...这是一个Leetcode ,问题说:给定一个未排序整数数组,找出该数组最长递增子序列或子集长度。一个子集就像一个数组短数组;每个数组可以有多个子集。...而且,在子序列中,元素在数组中出现顺序必须是相同,但可以是任何一个个体。例如,在这种情况下,我们可以看到,答案是2, 3, 7,101 ;5 ,但这是可以,因为它是一个子序列。...如果我们看到从10,9,2,5,3,7,101,18 开始最长递增子序列,我们会发现2, 5, 7, 101 ;这也可能意味着一个答案,但答案也可能是2, 3, 7, 101 ,这也是我们另一个子序列...3, 7, 101 也是一个子序列,但这不是最长,所以我们不考虑它。可能有不止一个组合;正如我们刚刚看到,我们只需要返回长度。

    22730

    Python补充01 序列方法

    在快速教程中,我们了解了最基本序列(sequence)。回忆一下,序列包含有定值表(tuple)和表(list)。此外,字符串(string)是一种特殊定值表。...表元素可以更改,定值表一旦建立,其元素不可更改。 任何序列都可以引用其中元素(item)。...下面的内建函数(built-in function)可用于序列(表,定值表,字符串): # s为一个序列 len(s)         返回: 序列中包含元素个数 min(s)         返回:...序列中最小元素 max(s)         返回: 序列中最大元素 all(s)         返回: True, 如果所有元素都为True的话 any(s)         返回: True..., 如果任一元素为True的话 下面的方法主要起查询功能,不改变序列本身, 可用于表和定值表: sum(s)         返回:序列中所有元素和 # x为元素值,i为下标(元素在序列位置) s.count

    68180
    领券