Python 基本结构之元组
元组是 Python 中内置的有序不可变序列,元组的所有元素放在一对圆括号 “()”中,并使用逗号隔开,元组中元素的类型可以相同也可以不同。
元组的创建
创建元组的两种方式:
注意:当元组中只包含一个元素时,元素后面的逗号不能省略,否则系统会 将其看做是其他数据类型。例如包含一个整数5的元组应写成 a_tuple = (5,) 而 不能写成a_tuple = (5)(此时 a_tuple 是整型)。
元组和列表的联系与区别
元组和列表之间存在很多关联,例如都可以存放多个数据,里面的数据都是 有序的,支持索引、切片操作,都能使用系统中提供的一些内置函数如求最大值、 最小值、求和、求长度等。二者之间可以通过相应的函数进行转化,二者最大的 不同在于元组中的元素不能修改,因此元组不支持修改、插入、附加等操作,所 有对元组有变化的操作都是生成一个新的元组,例如两个元组之间相加、元组乘 以整数等。可以说,所有能用到元组的地方,都可以使用列表。那为什么还需要 元组呢?元组操作速度比列表更快,元组的安全性更高,可以有效避免对一些不 可变的内容进行修改。
生成器推导式
元组没有推导式,尝试通过已有序列快速生成满足特定需求的元组时,产生 的是一个生成器对象。生成器推导式的写法与列表推导式非常类似,只是将一对 中括号换成了一对圆括号。语法形式: (表达式 for 变量 in 已有序列 if 过 滤条件)
生成器是用来创建Python序列的一个对象。使用它可以迭代庞大序列,且不 需要在内存创建和存储整个序列,它的工作方式是每次处理一个对象,而不是一 口气处理和构造整个数据结构。每次迭代生成器时,它会记录上一次调用的位置, 并且返回下一个值。可通过tuple()、list()等函数将其转化为元组或列表。可通过 生成器对象的__next__()方法或者系统的next()方法逐个访问其中的元素。
Python 基本结构之字符串
字符串是由字符组成的一个不可变序列,和元组作用类似,也支持索引、切片、重复、 合并等操作。Python中统一了“字符”和“字符串”的概念,字符串的内容放在一对引号中, 可以是一对单引号、双引号或三引号。注意:引号可以嵌套使用。单引号里包含双引号,或 双引号里包含单引号。
字符串的创建
字符串创建的两种方式:
字符串的常见方法
字符串除了拥有和元组类似的功能外,还拥有一些专属于字符串的方法,例如大小写字 母转换、字符串分割、字符串替换、字符串首尾判断、内容居中、判断是否为字母字符串、 判断是否为数字字符串、判断是否为合法标识符等。常见方法如下。
- isdigit():判断字符串中所有字符是否都为数字;
- isalpha():判断字符串中所有字符是否都为字母,广义上的字母;
- isalnum():判断字符串中所有字符是否都为数字或字母;
- isidentifier():判断字符串是否为合法标识符;
字符串应用举例
输入一个字符串,判断是否为回文字符串,即从左到右和从右到左完全一致。
输入一个字符串,删除字符串中重复出现的字符。
输入两个字符串,从第一个字符串中删除第二个字符串中所有字符。
输入一个字符串,将字符串中的所有数字取出,形成一个新的字符串。
字符串格式化
字符串的一个典型应用场景就是字符串的格式化输出,在格式化输出时重点关注两部 分内容:参数传递规则和格式控制字符的含义和顺序。
控制台打印结果如下: