Python中常见的数据结构可以统称为容器(container)。序列(如列表和元组)、映射(如字典)以及集合(set)是三类主要的容器。
Python3 中有六个标准的数据类型:
- Number(数字)
- String(字符串)
- List(列表)
- Tuple(元组)
- Sets(集合)
- Dictionary(字典)
Python中有六种内建的序列:列表、元组、字符串、Unicode字符串、buffer对象和xrange对象,主要讨论列表、元组和字符串
序列的基本操作是:索引操作符和切片操作符 [][:] len() 求序列的长度、 + 连接两个序列、 * 重复序列元素、
in 判断元素是否在序列中(not in)、 cmp( , ) 比较两个序列的值是否相同-1 1 0 Python3使用 (x>y)-(x<y) 替换
max()返回最大的值、 min()返回最小的值
序列类型操作符 按照优先级从高到底的顺序排列的
操作符 | 说明 |
len(seq) | 获得序列的长度 |
seq[index] | 获得下标为index 的元素 |
seq[index1:index2] | 获得下标从index1 到index2 间的元素集合 |
seq * expr | 序列重复expr 次 |
seq1 + seq2 | 连接序列seq1 和seq2 |
obj in seq | 判断obj 元素是否包含在seq 中 |
obj not in seq | 判断obj 元素是否不包含在seq 中 |
列表 list [] 列表示可变的
方法 | 描述 |
list.append(x) | 把一个元素添加到列表的结尾,相当于 a[len(a):] = [x]。 |
list.extend(L) | 通过添加指定列表的所有元素来扩充列表,相当于 a[len(a):] = L。 |
list.insert(i, x) | 在指定位置插入一个元素。第一个参数是准备插入到其前面的那个元素的索引,例如 a.insert(0, x) 会插入到整个列表之前,而 a.insert(len(a), x) 相当于 a.append(x) 。 |
list.remove(x) | 删除列表中值为 x 的第一个元素。如果没有这样的元素,就会返回一个错误。 |
list.pop() | 从列表的指定位置删除元素,并将其返回。如果没有指定索引,a.pop()返回最后一个元素。元素随即从列表中被删除。(方法中 i 两边的方括号表示这个参数是可选的,而不是要求你输入一对方括号,你会经常在 Python 库参考手册中遇到这样的标记。) |
list.clear() | 移除列表中的所有项,等于del a[:]。 |
list.index(x) | 返回列表中第一个值为 x 的元素的索引。如果没有匹配的元素就会返回一个错误。 |
list.count(x) | 返回 x 在列表中出现的次数。 |
list.sort() | 对列表中的元素进行排序。 |
list.reverse() | 倒排列表中的元素。 |
list.copy() | 返回列表的浅复制,等于a[:]。 |
用 append() 方法可以把一个元素添加到堆栈顶。用不指定索引的 pop() 方法可以把一个元素从堆栈顶释放出来
栈: 栈又称之为堆栈是一个特殊的有序表,其插入和删除操作都在栈顶进行操作,并且按照先进后出,后进先出的规则进行运作。 参考http://www.php.cn/python-tutorials-350977.html 这里对栈的解析和实战讲的很到位
del 语句用 del 语句从列表中删除一个切割,或清空整个列表
元组 tuple 表示不可变序列 由若干逗号分隔的值组成
Python元组包含了以下内置函数
序号 | 方法及描述 | 实例 |
1 | len(tuple) 计算元组元素个数。 | >>> tuple1 = ('Google', 'Runoob', 'Taobao')>>> len(tuple1)3>>> |
2 | max(tuple) 返回元组中元素最大值。 | >>> tuple2 = ('5', '4', '8')>>> max(tuple2)'8'>>> |
3 | min(tuple) 返回元组中元素最小值。 | >>> tuple2 = ('5', '4', '8')>>> min(tuple2)'4'>>> |
4 | tuple(seq) 将列表转换为元组。 | >>> list1= ['Google', 'Taobao', 'Runoob', 'Baidu'>>> tuple1=tuple(list1)>>> tuple1('Google', 'Taobao', 'Runoob', 'Baidu') |
字符串 string 使用引号定义
Python 3 源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串
r/R 原始字符串 - 原始字符串:所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。 原始字符串除在字符串的第一个引号前加上字母"r"(可以大小写)以外,与普通字符串有着几乎完全相同的语法
% 格式字符串
字符串格式化
符号 | 功能 |
* | 定义宽度或者小数点精度 |
- | 用做左对齐 |
+ | 在正数前面显示加号( + ) |
<sp> | 在正数前面显示空格 |
# | 在八进制数前面显示零('0'),在十六进制前面显示'0x'或者'0X'(取决于用的是'x'还是'X') |
0 | 显示的数字前面填充'0'而不是默认的空格 |
% | '%%'输出一个单一的'%' |
(var) | 映射变量(字典参数) |
m.n. | m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话) |