本节考虑的Python的一个中要的内置对象序列, 所谓的序列即一个有序对象的集合。这里的对象可以是数字、字符串等。根据功能的不同将序列分为字符串、列表、元组,本文将以下这几种对象做一些介绍。

一. 字符串

  字符串是一个非常常见的对象,我们平时在文本中编辑的对象都是字符串,例如‘你的名字,‘I love python!’等都是字符串,字符串的重要性不言而喻。

1.字符串的定义

  通常我们将需要编辑的字符串的字符串放在一个英文的单引号/英文双引号中,例如当我们在编辑器输入'I love python ! '的时候我们就创建了一个字符串对象,此时的字符串还没有变量来接受,所以我们需要用一个变量名来接受该字符串。例如 s1 = 'I love python ! ', 这就是创建一个字符串的完整格式,即 变量名 = ‘’字符串对象’,这里需要注意的是英文单引号。

2.字符串的相关运算

>>>s1 = 'I love python ! '

>>>s1 = 'Hello 2018 ! '

合并:+ , 字符串的加法表示字符串的合并

>>> s1+s2
'I love python !Hello 2018 !'

重复: *, 乘法表示字符串的重复

>>> s1*3
'I love python !I love python !I love python !'

索引:s1[index] 正数表示从第一个位置0开始索引,负数表示从倒数第一个开始 。注意空格也是一个字符串

>>> s1[0]
'I'
>>> s1[-1]
'!'
>>> s1[1]
' '

s.find(object):查找元素位置,默认返回元素第一次出现的位置,可添加查找范围,若没有返回-1

s.index(value, [start, [stop]])默认返回元素第一次出现的位置,可添加查找范围,如不存在则会报错。

s[i:j] : 切片,截取字符串的某一部分,i为截取开始段,j为截取结束段。注意包含开始不包含结束( 左闭右开)

>>> s1[2:7]
'love '

len(s): 判断长度, 返回字符串的长度

s.count('a'): 返回s中a的个数,若没有返回0

s.endswith('hk'): 是否以...结尾,返回True /False
s.startswith('a'):是否以...开始,返回True /False

s.replace('old','new'): 替换,需要特别注意的是替换并没有改变字符串的值,而是开辟了新的一个字符串对象,若需要用新的字符串对象字需要为它赋一个新的变量名

>>> s1.replace('love','hate')
'I hate python !'
>>> s1
'I love python !'

s.isalpha(): 判断是否全是字母/汉字
s.isdigit():判断是否全是数字,只能判断正整数
s.islower():判断是否全是小写
s.isupper():判断是否全是大写

s.lower(): 转换为小写
s.upper(): 转换为大写 #另外开辟一个地址需要一个新的地址接受,s本身没有变

>>> s1.upper()
'I LOVE PYTHON !'
>>> s1
'I love python !'

s.split(): 分割,默认以空格分割,也可以自定义分割位置,分割之后转化为列表。字符串自身没有不改变。

>>> s1.split()
['I', 'love', 'python', '!']
>>> s1.split('love')
['I ', ' python !']
>>> s1
'I love python !'

只对经常用到的操作做以介绍,在介绍中特别强调了,字符串自身没有发生改变,这一点是非常重要的字符串一旦定义就不会发生改变,若要利用操作之后新的字符串一定一定要将其赋给一个新的变量名

二. 列表

  列表Python中比较灵活的是有序对象的集合,以字符串不同的是,列表可以包含任何对象:数字,字符串,甚至其他列表。同样,与字符串不同的是列表都是可变对象,他们支持在原处修改。下面对列表进行描述:

列表是:

  任意对象的有序集合

  通过偏序读取

  可改变长度、异构以及任意嵌套

  可改变序列分类

1.定义

  L = ['Hello','world','!']     列表的定义是放在英文[]中括号内的,可嵌套如 L = ['Hello','world','!',['I','love','Python','!']]

2. 列表的运算

L = ['Hello','world','!']

L1 = ['Hello','world','!',['I','love','Python','!']]

L[i],L[i][j]: 索引

>>> L1[2]
'!'
>>> L1[3]
['I', 'love', 'Python', '!']
>>> L1[3][1]
'love'

L[i:j]: 切片,左闭右开

len(L):

+:合并

*: 重复

添加:

L.append(object):在末尾添加对象,一次只能添加一个对象,若对象为一个列表时将该列表视为一个对象L.extend(object):在末尾添加对象,一次可以添加多个对象,这是append()函数与insert()函数的主要区别L.insert(index,object):在固定的位置添加对象,index表示添加对象的位置,一次只能添加一个对象。注意添加对象后面的                对象的索引都发生了变化。

删除:

L.pop() 默认删除最后一个元素
L.remove(value) -> None 指定删除

L.clear() -> None -- remove all items from L:将列表清空
L.copy() -> list -- a shallow copy of L: 复制,注意复制后不是同一个对象,内存地址改变。copy()是复制函数,复制之后变为两个相同的对象,他们相同但不是同一个        对象

>>> L2 = L.copy()
>>> L2
['Hello', 'world', '!']
>>> L2 == L
True
>>> L2 is L
False
>>> id(L)
59761048
>>> id(L2)
59761128

L.reverse():  将列表反转

L.sort(): 排序,排序是一个语言中非常重要的一部分,以后会对sort()函数做一个深入的介绍,这里简单介绍一些用法。

>>> L
['Hello', 'world', '!']
>>> L.sort()
>>> L
['!', 'Hello', 'world']
>>> L.sort(key = len, reverse = True)
>>> L
['Hello', 'world', '!']

字符串转化为列表:s.split(), list(s)

>>> s1 = 'China is a great country'
>>> L = s1.split()
>>> L
['China', 'is', 'a', 'great', 'country']
>>> L1 = list(s1)
>>> L1
['C', 'h', 'i', 'n', 'a', ' ', 'i', 's', ' ', 'a', ' ', 'g', 'r', 'e', 'a', 't', ' ', 'c', 'o', 'u', 'n', 't', 'r', 'y']

列表的基本操作目前就介绍这些,进一步的操作将在以后的学习中介绍。   ***注意列表是可变的***

三. 元组

  元组有简单对象构成,元组与列表非常相似,只不过元组不能在远处修改(它们是不可变的),构成使用圆括号,元组具有列表的大多数属性。

元组是:

  任意对象的有序集合

  通过偏序读取

  属于不可变序列类型

  固定长度、异构任意嵌套

1. 元组的定义

  元组的定义方式有两种如下

>>> T =1,2,3
>>> T
(1, 2, 3)
>>> T=(1,2,3)
>>> T
(1, 2, 3)

2. 元组的操纵

  元组的基本操作与列表一样,这里不多做介绍

问题: 为什么有了列表还要元组?

  元组的不可变性提供了某种完整性,可以确保在程序中不会被修改,而列表没有这样的性质。元组的角色类似于‘常量声明’, 一旦定义无法改变,而列表不具备这样的性质。实际中应该按需应用。

转载于:https://www.cnblogs.com/fangfang31140519/p/8440338.html

Python基础__Python序列基本类型及其操作(1)相关推荐

  1. python序列类型举例说明_Python基础__Python序列基本类型及其操作(1)

    本节考虑的Python的一个中要的内置对象序列, 所谓的序列即一个有序对象的集合.这里的对象可以是数字.字符串等.根据功能的不同将序列分为字符串.列表.元组,本文将以下这几种对象做一些介绍. 一. 字 ...

  2. python变量类型-【干货】Python基础语法之变量类型

    原标题:[干货]Python基础语法之变量类型 还没关注? 01 Python编码 Python中默认的编码格式是 ASCII 格式,在没修改编码格式时无法正确打印汉字,所以在读取中文时会报错. 解决 ...

  3. python基础-变量,变量类型,字符串str,元组tuple,列表list,字典dict操作详解(超详细)

    python基础--变量 (文章较长,若需要单独看某一个点,可点击目录直接跳转) 文章目录 python基础--变量 1. 变量 2. 变量类型 2.1数字类型 2.2 字符串 2.3 列表 2.4 ...

  4. Python基础入门:高效的集合操作

    Python中有两种可以遍历的容器类型. 序列类型:包含字符串.列表.元祖 映射(哈希)类型:包含字典.集合 序列类型是线性表,就像数组一样,是在内存中开辟一块连续空间,连续存储的,那么查找某个元素时 ...

  5. python基础:序列(列表、元组、字符串)、函数、字典、集合

    Python语言运行环境: windows linux unix Macos等等 博客记录内容: Python3的所有语法.面向对象思维.运用模块进行编程.游戏编程.计算机仿真. Python是什么类 ...

  6. 从列表中切片最佳英雄组合,我的选择是亚索和李青——补充python基础语法有关数字类型和列表的知识

    本文继续补充个人对python基础语法的理解,这里主要讲数字类型和列表~ 目前还不算初级程序员把,但是一洗头就掉头发,现在都不敢洗头了~ 数字类型 python中的数字类型:int(整型).float ...

  7. Python基础知识十二【文件操作】

    文件操作 1.文本文件和二进制文件 2.文件操作相关模块概述 3.创建文件对象 4.文本文件的写入 4.1基本的文件写入操作 5.常用编码介绍 5.1 ASCII 5.2 ISO8859-1 5.3 ...

  8. Python基础day07 作业解析【文件操作(文件读写、文件夹操作)】

    视频.源码.课件.软件.笔记:超全面Python基础入门教程[十天课程]博客笔记汇总表[黑马程序员] Python基础day07[文件读写.文件夹操作.面向对象(类.对象)] 目录 加强训练 题目1 ...

  9. python基础之序列类型的方法——列表元组

    Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.csdn.net/cou ...

最新文章

  1. Python使用matplotlib可视化排序的点图、点图表示数据的等级顺序、沿着水平轴对齐(Ordered Dot Plot)
  2. 2016/09/12
  3. 深入理解MySQL的外连接、内连接、交叉连接
  4. 关于linkedin的network的观察和自己的职业道路的追求
  5. IPFS:Filecoin和复制证明
  6. Android fastjson
  7. hdu2844 Coins(普通的多重背包 + 二进制优化)
  8. Python中的常用模块
  9. Opencv 中 Mat中元素的值读取方法总结
  10. 【Uva 11604 编码都有歧义了】
  11. nginx之lua_shared_dict命令
  12. centos7修改ip(centos7修改时区)
  13. Default clip could not be found in attached animations list...must be marked as legacy解决办法
  14. 扫描全能王添加头像的方法
  15. wamp5如何配置多个自定义域名访问本地不同的项目
  16. python之pandas基础知识以及练习题
  17. 三月的雨季给我带来了希望
  18. U盘插到电脑上无反应怎么办?
  19. CSDN小伙伴们苦苦寻找的最全的微软msdn原版windows系统镜像和office下载地址集锦
  20. 发展型机器人:由人类婴儿启发的机器人. 2.3 类人婴儿机器人

热门文章

  1. C++ Primer 第五版 第8章类 8.2——文件输入和输出
  2. c语言随机读写信息fetch,北京大学信息科学技术学院考试试卷-计算机系统导论-期中-2015(16页)-原创力文档...
  3. 深度学习(六十九)darknet 实现实验 Compressing Deep Neural Networks with Pruning, Trained Quantization and Huffma
  4. bulk批量下载影像
  5. gc的原因 频繁full_Java性能优化要点之:GC垃圾回收知识点整理
  6. 不思议迷宫c语言基础,不思议迷宫——新手入门所学
  7. 计算机适配器有什么作用,例举适配器是什么
  8. 记录方法用时_知识无穷,学以致用才是关键!四个方法教你学以致用
  9. python 大众点评模拟登陆_python项目实战:模拟登陆163邮箱,简单到爆
  10. JS-面向对象-对象的特性-禁止对象扩展 / 对象的特性-封印对象 / 对象的特性-冻结对象