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```

  • 长字符串

    1. 用三引号,可以包含多行字符串

      '''hhhh

      dddddd'''

    2. 多行表示一个字符串,每行末尾加反斜杠()

      '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)

  由一系列按照指定顺序排列的元素组成。列表中的元素可以是不同类型。

  列表的表示用方括号([ ])将元素括起来,元素之间用逗号(,)分隔

列表是序列类型的一种,序列所有的特性和操作对于列表都是成立的,除此之外,列表还有自己的特殊操作。

  • 列表的创建
  1. 直接使用列表的字面量。

    a = []# 创建一个空列表

    a = [2,3,5,7,11,13]

  2. 使用list()将其他数据类型转换成一个列表。

    a = list('hello')

    a的内容是: ['h', 'e', 'l', 'l', 'o']

    list(range(1,10,2))

    结果是:[1,3,5,7,9]

  3. 列表的元素类型可以是任何类型,也包括列表类型。当列表的元素是列表时,可以构成多维列表,如同一个矩阵。

    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]访问其中第一行第一列的元素

    矩阵的每一行都是一个列表。

  • 列表元素可以被修改
  1. 赋值

  2. 删除 del

  3. 切片赋值

  4. 如何将列表lst切成相同长度n的序列?

    [lst[i:i+n] for i in range(0, len(l), n)]

  5. 去重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:good

    python字符串列表元组序列操作的更多相关文章

    1. python字符串 列表 元组 字典相关操作函数总结

      1.字符串操作函数 find 在字符串中查找子串,找到首次出现的位置,返回下标,找不到返回-1 rfind 从右边查找 join 连接字符串数组 replace 用指定内容替换指定内容,可以指定次数 ...

    2. 初识python 字符串 列表 字典相关操作

      python基础(一): 运算符: 算术运算: 除了基本的+ - * / 以外,还需要知道 :  // 为取整除 返回的市商的整数部分 例如: 9 // 2  ---> 4  , 9.0 //  ...

    3. Python学习-列表元组字典操作

      一.列表 列表是Python的基本数据类型之一,它是以 [] 括起来的,内部成员用逗号隔开.里面可以存放各种数据类型. # 例如: list2 = ['jason', 2, (1, 3), ['war ...

    4. python字符串/列表/元组/字典之间的相互转换(5)

      一.字符串str与列表list 1.字符串转列表 字符串转为列表list,可以使用str.split()方法,split方法是在字符串中对指定字符进行切片,并返回一个列表,示例代码如下: # !usr ...

    5. python 字符串,列表,元组,字典相互转换

      1.字典 dict = {'name': 'Zara', 'age': 7, 'class': 'First'} 字典转为字符串,返回:<type 'str'> {'age': 7, 'n ...

    6. python字符串、元组常用操作

      常用字符串操作函数: #Author:CGQ name="I \tam ChenGuoQiang" print(name.capitalize())#首字母大写,其他都小写 pri ...

    7. Python第三天 序列 数据类型 数值 字符串 列表 元组 字典

      Python第三天 序列  数据类型  数值  字符串  列表  元组  字典 数据类型数值字符串列表元组字典 序列序列:字符串.列表.元组序列的两个主要特点是索引操作符和切片操作符- 索引操作符让我 ...

    8. Python第三天 序列 5种数据类型 数值 字符串 列表 元组 字典 各种数据类型的的xx重写xx表达式

      Python第三天 序列  5种数据类型  数值  字符串  列表  元组  字典 各种数据类型的的xx重写xx表达式 目录 Pycharm使用技巧(转载) Python第一天  安装  shell ...

    9. python字符串/列表/字典互相转换

      python字符串/列表/字典互相转换 目录 字符串与列表 字符串与字典 列表与字典 字符串与列表 字符串转列表 1.整体转换 str1 = 'hello world' print(str1.spli ...

    随机推荐

    1. 微信小程序开发中的http请求总结

      在微信小程序进行网络通信,只能和指定的域名进行通信,微信小程序包括四种类型的网络请求. 普通HTTPS请求(wx.request) 上传文件(wx.uploadFile) 下载文件(wx.downlo ...

    2. 配置GitLab或Git环境之教程

      配置GitLab或Git环境之教程 1.安装好Git后,首先打开开始菜单的所有程序里面的git文件夹,打开Git Bash/ ​ 2.弹出的命令行里面输入ssh-keygen 输入y,一直Enter ...

    3. Swift:字符串(String)分割之Substring优雅转换

      认识Substring类型 这是一个全新的类型,看类名像是String的子类,但是大家千万别被误导了,Substring并不是String的子类,这是两个不同的类型,但是它们都继承了StringPro ...

    4. jquery 获取url携带的参数

      url= "/page/employee/employeeUpdate.html?id="+data.id 获取 url携带的参数 -> $.getUrlParam = fu ...

    5. 利用 MinIO 轻松搭建静态资源服务

      目录 1 引言 2 MinIO 简介 3 MinIO 运行与静态资源使用 3.1 MinIO 获取 3.2 MinIO 启动与运行 3.2.1 前台简单启动 3.2.2 后台指定参数运行 3.2.3 ...

    6. 一些js 概念 整理

      1.原型链 prototype       这个属性 是一个指针,指向一个对象 这个对象 包含 所有实例共享的属性和方法,即这个原型对象是用来给实例共享属性和方法的.          而每个实例内部 ...

    7. python,keras,tensorflow安装问题 module 'tensorflow' has no attribute 'get_default_graph'

      module ‘tensorflow’ has no attribute ‘get_default_graph’当我使用keras和tensorflow做深度学习的时候,python3.7报了这个错误 ...

    8. 成为视频分析专家:自动生成视频集锦(Python实现)

      介绍 我是个超级板球迷.从我记事起,我就迷上了这项运动,至今它仍在我的日常生活中起着重要的作用.我相信很多读到这篇文章的人都会点头! 但是自从我开始工作以来,要跟上所有的比赛就成了一件棘手的事.我不能 ...

    9. arcgis连接oracle发布服务,提示数据未注册到服务器,手动注册服务器失败

      arcgis连接oracle数据库发布服务时候,分析之后提示:数据未注册到服务器上. 手动注册之后提示:数据客户端没有正确配置.实际上数据库客户端已经安装完成也可以使用. 设置 PATH 环境变量(仅 ...

    10. linux-aapt文件调用问题

      使用管理后台上传移动app安装包到服务器,出现异常问题,解决方案如下: 本地环境说明: 系统:linux(centos 64位) 远程工具:xshell 数据库:oracle 中间件:weblogic ...