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. 基于.NetCore3.1搭建项目系列 —— 使用Swagger做Api文档 (上篇)

      前言 为什么在开发中,接口文档越来越成为前后端开发人员沟通的枢纽呢? 随着业务的发张,项目越来越多,而对于支撑整个项目架构体系而言,我们对系统业务的水平拆分,垂直分层,让业务系统更加清晰,从而产生一系 ...

    2. ERP系统定价模型及费用组成

      很多人选择ERP系统的时候最关心的就是费用问题,因为很多中小企业资金都是比较缺乏的,如果需要使用大量的金钱来购买ERP系统这是不现实的.你知道ERP系统的定价模型有哪些吗?你知道影响ERP系统价格的因 ...

    3. hdu2087kmp模板练习

      题目网址:http://icpc.njust.edu.cn/Problem/Hdu/2087/ 代码: #include<bits/stdc++.h> using namespace st ...

    4. ImportError: libcusolver.so.8.0: cannot open shared object file: No such file or directory

      问题描述: ImportError: libcusolver.so.8.0: cannot open shared object file: No such file or directory 首先检 ...

    5. Redis学习笔记1-java 使用Redis(jedis)

      一.远程操作Redis 1. 在windows环境下安装RedisDesktopManager 2. 打开RedisDesktopManager 3. Add New Connection 4. 右击 ...

    6. scanf()的使用及一些注意事项

      相比较Java的键盘录入,C语言的scanf有一些需要注意的细节,为了避免使用的时候踩坑,我们就来了解一下scanf. scanf()是C语言的格式输入函数,和printf函数一样被声明在stdio. ...

    7. mysql事务提交和回滚机制

      应用场景:   银行取钱,从ATM机取钱,分为以下几个步骤       1 登陆ATM机,输入密码:    2 连接数据库,验证密码:    3 验证成功,获得用户信息,比如存款余额等:    4 用 ...

    8. 面试指南」JS 模块化、组件化、工程化相关的 15 道面试题

      JS 模块化.组件化.工程化相关的 15 道面试题 1.什么是模块化? 2.简述模块化的发展历程? 3.AMD.CMD.CommonJS 与 ES6 模块化的区别? 4.它们是如何使用的? 5.exp ...

    9. 初始化一个vue项目

      1.安装node 端开发框架和环境都是需要 Node.js ,先安装node.js开发环境,vue的运行是要依赖于node的npm的管理工具来实现,下载https://nodejs.org/en/,安 ...

    10. 数字反转 NOIp普及组2011

      当数字位数不确定时,如何反转呢? 本文为博客园ShyButHandsome原创作品,转载请注明出处 使用右侧目录快速浏览文章 题目描述 给定一个整数,请将该数各个位上数字反转得到一个新数. 新数也应满 ...