python字符串列表元组序列操作
Table of Contents generated with DocToc
python系列-字符串、列表、元组的操作
序列的访问及运算符
序列是为满足程序中复杂的数据表示,python支持组合数据类型,可以将一批数据作为一个整体进行数据操作,这就是数据容器的概念。
容器中可包含多个数据(元素),容器中的数据(元素)有先后次序,每个元素通过用其下标(索引)来访问。序列的下标从0开始,后面下标依次为1,2,3,….。
序列是其中一大类数据容器的统称,不是具体的数据类型。
常用的序列类型:列表(list),字符串(string),元组(tuple)
序列通用操作
| 操作 | 描述 |
|---|---|
| X1+X2 | 连接系列X1和X2生成新序列 |
| X*n | 序列X重复n次,生成新序列 |
| X[i] | 引用下标为i的成员 |
| X[i:j] | 引用序列X中i到j-1的序列 |
| x[i:j:k] | 引用序列X中的i到j-1的序列,步长为k |
| len(X) | 计算序列中成员的个数 |
| max(X) | 序列X中的最大值 |
| min(X) | 序列X中最小值 |
| v in X | 检查v是否存在序列X中返回布尔值 |
| v not in X | 检查v是否不在X中,返回布尔值 |
访问单个元素
假设序列中有n个元素,单个访问时下标的有效范围是0到n-1 或者 -1 到 -n(表示从序列最后有个开始访问
切片访问一部分元素
- 切片X[i,j,k]中i,j用来定位元素,可以为负数
- 切片第二个参数省略是表示到最后一个元素
- 第一个下标为0是可以省略
- 第三个参数为负时,逆向切片
序列的复制
如果将一个序列变量赋值给另一个变量,则这两个变量表达了同一个序列
a=[1,2]
b=a
如果希望2个变量各自拥有独立的序列,可以使用切片
a=[1,2]
b=a[:]#从头到尾
字符串
字符串是一系列用(')或(")括起来的字符
引号必须成对出现,如果字符串中出现了单引号或双引号是使用三个算一哈或单引号括起来,比如
```hhhh"kk```长字符串
用三引号,可以包含多行字符串
'''hhhh
dddddd'''多行表示一个字符串,每行末尾加反斜杠()
'hhhhh
fffff'
原始字符串
在一个字符串前面加一个字符r,其中的\不被当成转义字符前缀
s=r'ffff\nccc'
print(s)
结果为:ffff\ncc字符串是不可修改的,但可以用新的字符串对变量进行重新赋值
s="hell"
s[0]='d'#wrong
s='like'#ok
字符串常用函数
| 函数 | 解释 |
|---|---|
| S.title() | 字符串S首字符大写 |
| S.lower() | 字符串s变小写 |
| S.upper() | 变大写 |
| S.strip(),rstrip(),S.lstrip() | 删除前后or右,左空格 |
| S.find(sub[,start[,end]]) | 在s中查找sub子串首次出现的位置 |
| S.replace(old,new) | new子串替换s子串 |
| s.join(X) | 将序列X合并成字符串(X)只能是字符串 |
| s.split(sep=None) | 字符串拆分成列表 |
| s.count(sub[,start[,end]]) | 计算sub子串在s中的出现次数 |
s="this is python"
s.find("is")
s.find("is",3)
s.find("is",3,6)
数字转化成字符串
函数str()
字符串格式化运算符 %
'happy birthday %d,%s!'%(23,'xiaoming")
常用格式站位符
占位符 含义 %c 单个字符或Unicode码转换从字符 %s 字符串 %d 整数 %u 无符号整数 %o 八进制 %x 十六进制 %X 字母大写的十六进制 %f 浮点数 %e 科学计数法 %E 大写E的科学计数法 %g 综合%f和%e,字段决定是否使用科学计数法 %G 大写表示%g format()支持多个站位符,可以为站位符指定转换数据的索引,也可以指定宽度,对齐填充,精度进制
{ <索引> :<填充字符><对齐方式><宽度.精度><格式>}
- ><^右对齐,左对齐,居中
- ,千分位
列表和元组
列表(list)
由一系列按照指定顺序排列的元素组成。列表中的元素可以是不同类型。
列表的表示用方括号([ ])将元素括起来,元素之间用逗号(,)分隔
列表是序列类型的一种,序列所有的特性和操作对于列表都是成立的,除此之外,列表还有自己的特殊操作。
- 列表的创建
直接使用列表的字面量。
a = []# 创建一个空列表
a = [2,3,5,7,11,13]使用list()将其他数据类型转换成一个列表。
a = list('hello')
a的内容是: ['h', 'e', 'l', 'l', 'o']
list(range(1,10,2))
结果是:[1,3,5,7,9]列表的元素类型可以是任何类型,也包括列表类型。当列表的元素是列表时,可以构成多维列表,如同一个矩阵。
matrix = [
[1, 2, 3, 4, 5],
[3, 0, 8,11,14],
[5, 6, 9,12,16],
[7, 0, 0, 0, 0],
[9,11,17, 0,15]]
用matrix[0][0]访问其中第一行第一列的元素
矩阵的每一行都是一个列表。
- 列表元素可以被修改
赋值
删除 del
切片赋值
如何将列表lst切成相同长度n的序列?
[lst[i:i+n] for i in range(0, len(l), n)]去重seq[:]=[ x for x in seq if seq.count(x)<2]
列表常用函数
| 方法 | 描述 |
|---|---|
| L.append(x) | 尾部追加 |
| L.clear() | 删除所有元素 |
| L.count(x) | |
| L.copy() | 备份 |
| L.extend() | 列表x扩充到列表L中 |
| L.index(value[,star[,stop]]) | 在指定范围内计算value的下标 |
| L.insert(index,x) | 在下标index的位置插入 |
| L.pop(index) | 返回并删除index出的元素,默认最后一个 |
| L.remove(value) | 删除值为value的第一个元素 |
| L.reverse() | 倒置 |
| L.sort() | 排序 |
字符串和列表互操作
拆分字符串函数split()
函数split()用一个字符或子串将一个字符串分隔成列表的元素。
date = '3/11/2018'a = date.split('/')print(a)
输出:
['3', '11', '2018']如果split()函数不带参数,就是以空格来分割字符串。
name = 'John Johnson'a = name.split()print(a)
输出:
['John', 'Johnson']聚合字符串函数join()
函数join()用于将一个列表的各个字符串类型的元素组合成一个字符串,元素之间用指定的内容填充。
a = ['hello','good','boy','wii']print(' '.join(a))print(':'.join(a))
输出:
hello good boy wiihello:goodpython字符串列表元组序列操作的更多相关文章
- python字符串 列表 元组 字典相关操作函数总结
1.字符串操作函数 find 在字符串中查找子串,找到首次出现的位置,返回下标,找不到返回-1 rfind 从右边查找 join 连接字符串数组 replace 用指定内容替换指定内容,可以指定次数 ...
- 初识python 字符串 列表 字典相关操作
python基础(一): 运算符: 算术运算: 除了基本的+ - * / 以外,还需要知道 : // 为取整除 返回的市商的整数部分 例如: 9 // 2 ---> 4 , 9.0 // ...
- Python学习-列表元组字典操作
一.列表 列表是Python的基本数据类型之一,它是以 [] 括起来的,内部成员用逗号隔开.里面可以存放各种数据类型. # 例如: list2 = ['jason', 2, (1, 3), ['war ...
- python字符串/列表/元组/字典之间的相互转换(5)
一.字符串str与列表list 1.字符串转列表 字符串转为列表list,可以使用str.split()方法,split方法是在字符串中对指定字符进行切片,并返回一个列表,示例代码如下: # !usr ...
- python 字符串,列表,元组,字典相互转换
1.字典 dict = {'name': 'Zara', 'age': 7, 'class': 'First'} 字典转为字符串,返回:<type 'str'> {'age': 7, 'n ...
- python字符串、元组常用操作
常用字符串操作函数: #Author:CGQ name="I \tam ChenGuoQiang" print(name.capitalize())#首字母大写,其他都小写 pri ...
- Python第三天 序列 数据类型 数值 字符串 列表 元组 字典
Python第三天 序列 数据类型 数值 字符串 列表 元组 字典 数据类型数值字符串列表元组字典 序列序列:字符串.列表.元组序列的两个主要特点是索引操作符和切片操作符- 索引操作符让我 ...
- Python第三天 序列 5种数据类型 数值 字符串 列表 元组 字典 各种数据类型的的xx重写xx表达式
Python第三天 序列 5种数据类型 数值 字符串 列表 元组 字典 各种数据类型的的xx重写xx表达式 目录 Pycharm使用技巧(转载) Python第一天 安装 shell ...
- python字符串/列表/字典互相转换
python字符串/列表/字典互相转换 目录 字符串与列表 字符串与字典 列表与字典 字符串与列表 字符串转列表 1.整体转换 str1 = 'hello world' print(str1.spli ...
随机推荐
- 学习笔记----C语言的面向对象
2020-03-26 21:27:17 面向对象的编程语言都有一个类的概念,像Java.python等.类是对特定数据的特定操作的集合体.它包含两个范畴:数据和操作.C语言是没有类的概念的,但是 ...
- CVE-2019-17564:Apache Dubbo反序列化漏洞复现
0x00 漏洞背景 ①iiDubbo是一款高性能.轻量1级的开源java Rpc分布式服务框架. ②核心功能: ◉ 面向接口的远程过程调用 ◉ 集群容错和负载均衡 ◉ 服务自动注册与发现 ③特点: ◉ ...
- django中间件 csrf auth认证
django中间件 能做全局访问频率限制,身份校验,黑名单,白名单 用法: 新建一个文件夹,文件夹新建一个py文件,文件中写如下代码 注意点:你写的类必须继续MiddlewareMixin from ...
- hdu1181 dfs 字符串首尾可拼接,问是否可寻找到一条字串路径使得首尾分别是‘b’和‘m’,简单的搜索+回溯
#include<bits/stdc++.h> using namespace std; typedef unsigned int ui; typedef long long ll; ty ...
- Magento2(麦进斗) docker 安装
Magento 介绍 Magento(麦进斗)是一套专业开源的电子商务系统,采用php进行开发,使用Zend Framework框架.Magento设计得非常灵活,具有模块化架构体系和丰富的功能.易于 ...
- linggle使用技巧
Linggle 搜索引擎是一个可用于英语写作的语法.句子工具,可帮助学习者分析更准确的英文写作建议,能够根据词性来推测短句和句子,可精准的分享出完整英文句子如何撰写. Linggle 是台湾学术团队研 ...
- js事件的获取
获取元素样式属性 Method DES clientWidth 获取元素宽度 clientHeight 获取元素高度(内容+内边距) document.body.clientWidth 获取body宽 ...
- 搞定SEO,看这一篇就够了
一.SEO入门 1.SEO是什么? SEO(Search Engine Optimization)中文意思为搜索引擎优化.在了解搜索引擎自然排名机制的基础上,对网站进行内部及外部的调整优化,改进网站在 ...
- mongodb的增加和删除
一 mongodb中使用insert()方法来增加集合中的文档: db.myTable.insert({name:'arvin',age:12}) //对名为myTable的集合插入数据 插入数据 ...
- Mac word文档的消失问题以及解决方案
最近用mac电脑上的Microsoft Word写文档时,出现一个很奇怪的现象:明明我已经保存了文档到某个目录下,但是当我退出Word后,准备去保存目录找文档时发现文档消失了,前一秒还在!!! 通过各 ...
- python字符串 列表 元组 字典相关操作函数总结