python中序列的操作
Python中的序列操作
可变对象:列表、字典、集合
不可变对象:数值、字符串、元组、forzenset
1、序列的通用操作
(1)测试元素是否存在
x in S和x not in S,返回True或False
(2)加法和乘法
S1+S2或者S*N或者N*S(其中S1和S2是同一种序列类型)
(3)len()、max()和min()函数
len()返回序列的元素个数,min()和max()分别返回序列中最小、最大的元素。
(4)count()找出元素在序列中出现的次数
(5)索引取元素:S[i],i为从0开始的数值,可以取负数表示从尾部开始取。
(6)切片:
S[i:j]:从索引位i取到索引位j,不包括j
S[i:]:从索引位i开始取到最结尾
S[:j]:从最开头取到索引位j,不包括j
S[:]:从头取到尾,相当于拷贝了序列,但得到的是新序列
S[i:j:k]:k表示取元素时的步进间隔,默认为1,表示每个元素都取,如果为2,则表示取一个跳过一个
(7)找出第一个元素的位置:index(x,i,j):表示从序列中搜索元素x并返回第一次出现的x的位置,如果给定了i,则表示从索引位i开始搜索,给定了j则表示最多搜索到索引位为j的位置。如果找不到元素,将报错。
2、不可变序列的操作
相比可变序列,不可变序列的唯一操作是可以支持内置的hash()操作。
3、可变序列的操作
(1)s[i]=x 、s[i:j]=t 将序列中的元素替换成x或可迭代对象t
(2)s[i:j:k]=t 将序列中的元素替换成可迭代对象t,t的长度必须和s[i:j:k]的长度一样。
(3)del s[i]、del s[i:j] 删除序列中的元素
(4)del s[i:j:k] 删除序列中的某些元素,k为步长。
(5)s.remove(x):移除第一次出现的元素x
(6)s.clear():清空序列中的所有元素
(7)s.pop([i]):表示移除序列s中的第i个元素,并返回这个元素。没有参数时,默认移除最后一个元素
(8)s.append(x):向序列的尾部追加元素x
(9)s.extend(t)相当于s+=t,将t扩展到序列s的尾部
(10)s.insert(i,x):表示将x插入到序列中的i索引位置处
(11)s*=n 将序列s的元素重复n次追加到s的尾部
(12)s.copy():浅拷贝
(13)s.reserve():原地反转序列s
python中序列的操作的更多相关文章
- python中的赋值操作和复制操作
之前一直写C#,变量之间赋值相当于拷贝,修改拷贝变量不会改变原来的值.但是在python中发现赋值操作本质是和C++中的引用类似,即指向同一块内存空间.下面通过一个例子说明: p=[0,1,2,3,4 ...
- python中的赋值操作
参考:https://www.cnblogs.com/andywenzhi/p/7453374.html?tdsourcetag=s_pcqq_aiomsg(写的蛮好) python中的赋值操作“=” ...
- python中的日志操作和发送邮件
1.python中的日志操作 安装log模块:pip install nnlog 参数:my_log = nnlog.Logger('server_log.log',level='debug',bac ...
- python中OS模块操作文件和目录
在python中执行和操作目录和文件的操作是通过内置的python OS模块封装的函数实现的. 首先导入模块,并查看操作系统的类型: >>> import os os.name # ...
- Python中的字符串操作总结(Python3.6.1版本)
Python中的字符串操作(Python3.6.1版本) (1)切片操作: str1="hello world!" str1[1:3] <=> 'el'(左闭右开:即是 ...
- Python中的json操作
Python中的json操作 标签(空格分隔): python 编码 json 字符串前缀问题 字符串前缀可以有r,u r:表示原始(raw)字符串,比如'\n'不会被转义.常用于正则. u:表示un ...
- Oracle中序列的操作以及使用前对序列的初始化
Oracle中序列的操作以及使用前对序列的初始化 一 创建序列 create sequence myseq start with 1 increment by 1 nomaxvalue minva ...
- Python中的切片操作
python中的切片操作功能十分强大,通常我们利用切片来进行提取信息,进行相关的操作,下面就是一些切片的列子. 列如我们从range函数1-100中取7的倍数,函数及结果如下所示: >>& ...
- python中的句柄操作
python中的句柄操作 制作人:全心全意 通过窗口标题获取句柄 import win32gui hld = win32gui.FindWindow(None,u"Adobe Acrobat ...
随机推荐
- 【MySQL】各种小坑-持续更新
中文乱码问题 在建表的时候额外执行 ALTER TABLE camera CONVERT TO CHARACTER SET utf8; 如果还是不行注意看一下precision,为2的时候容易出现?? ...
- windows中端口查看&关闭进程
在一些情况下遇到的端口占用问题解决: 1.查看端口占用情况 命令:netstat -ano 命令:netstat -ano | findstr 需要释放的端口号 2.查看某端口的占用进程 命令:tas ...
- linux端口映射
参考文章: http://jingyan.baidu.com/article/ed15cb1b2a332e1be36981ed.html http://www.myhack58.com/Article ...
- 关于ElasticSearch的堆内存设置与优化
1.什么是堆内存?Java 中的堆是 JVM 所管理的最大的一块内存空间,主要用于存放各种类的实例对象.在 Java 中,堆被划分成两个不同的区域:- 新生代 ( Young ).- 老年代 ( Ol ...
- nmon2influxdb+grafana:服务监控可视化部署
在工作中,无论是定位线上问题,还是性能优化,都需要对前端.后台服务进行监控.而及时的获取监控数据,能更好的帮助技术人员排查定位问题. 前面的博客介绍过服务端监控工具:Nmon使用方法及利用easyNm ...
- Nas 系统的虚拟化方案
Nas 系统的虚拟化方案 https://zhuanlan.zhihu.com/p/55025102 对搞技术的人来说,Nas 是个理想的玩具,既然是程序员用的 Nas ,自然要专业一点,不能像小白一 ...
- LRU(Least Recently Used)算法的理解
https://blog.csdn.net/wydyd110/article/details/84023688 感谢 ,自己学习记笔记 内存里建立一个哈希表,后来数据多了,爆了.咋整呢? 一个算法,就 ...
- 拓展 - WebRTC 多视频网络拓扑之三种架构
众所周知,WebRTC非常适合点对点(即一对一)的音视频会话.然而,当我们的客户要求超越一对一,即一对多.多对一设置多对多的解决方案或者服务,那么问题就来了:“我们应该采用什么样的架构?” .简单的呢 ...
- jQuery-使页面回到顶部
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- day 07 预科
目录 异常处理 字符串内置方法 1.索引取值 2.切片 3.成员运算 4.for循环 5.len() 6.strip(): 默认去掉两端空格 7.lsteip()/rstrip(): 去左端/右端 空 ...