1. 列表
1.1 标志
列表:list,是一种有序的集合,可以随时添加和删除其中的元素。其标志是中括号:[ ]。
1.2 基本操作(创建, append(), pop(), del(), 拷贝)
基本操作包括:创建、索引、添加元素(append()、insert())、获取并删除指定位置的元素(pop())、删除指定位置的元素(del())、删除指定值(remove())、拷贝列表(copy())。
1. 创建:

2. 索引:用索引值来访问每一个位置的元素,索引值是从0开始的

3. 列表末尾添加元素:append()

也可以在列表的指定位置添加元素:insert(number,添加的元素)

4. 获取并删除列表末尾的元素:pop()

获取并删除列表指定位置的元素:pop(i)

5. 删除指定位置的元素:del(),是pythone语句,而不是列表方法,无法通过list来调用

6. 删除指定值:如果不确定或不关心元素在列表中的位置,可以用remove()

7. 拷贝列表:拷贝列表分为浅拷贝和深拷贝。浅拷贝不开新的存储空间,只是将新列表的元素指向原列表相同的内存空间,因此,原列表变化,新列表也跟着变化,新列表变化,原列表不变。但是,如果列表中嵌套了列表,拷贝后的列表中嵌套的列表元素指针,指向原列表中嵌套列表的整体地址,而不是指向嵌套列表中元素的内存地址。


深拷贝是将原列表完全克隆一份新的,有自己的存储空间,因此,修改原列表不影响新列表,修改新列表也不影响原列表。

1.3 列表相关方法
1. 要把某个元素替换成别的元素,可以直接赋值给对应的索引位置:

2. 查新列表长度:len()

3. max(list):返回列表元素最大值 ;

4. min(list):返回列表元素最小值 ;

5. list.count(obj):统计某个元素在列表中出现的次数;

6. list.extend(seq):在列表末尾一次性追加另一个序列的多个值(用新列表扩展原来的列表);

7. list.index(obj):找出列表中某个值第一个匹配项的索引位置;

9. list.reverse():反向列表中元素;

10. list.sort():对列表进行排序;

2. 元组
1.1 标志
元组:tuple,是另一种有序列表。tuple和list非常相似,但是tuple一旦初始化就不能修改。当定义一个空的元组时,可以使用t = ();但是当定义一个只含有一个元素的元组时,在括号内必须要加逗号‘,’,t = (1,)。因为不加逗号,定义的不是元组,只是一个数。
1.2 基本操作(创建及不可变性)
1. 创建tuple

2. 不可变性及“可变”的tuple
不可变性是指tuple中元素的指向是不会变的。如果tuple中包含list,tuple中个元素的指向永远不会变,list在tuple中对应的元素会永远指向list,但list中的元素指向可以改变,从而导致tuple中list中元素改变。

如果tuple中包含的也是tuple,就无法修改,会报错。

3. string字符串
3.1 定义及基本操作(+, *, 读取方式)
1. 定义:字符串可以是以‘’或“”括起来的任意文本,比如‘abc’,“123”等等。
2. 基本操作:
(1)通过索引获取字符串中的字符:[ ]

(2)字符串连接:+

(3)重复输出字符串:*

(4)截取字符串中的一部分:[:]
(5)成员运算符,如果字符串中包含给定的字符返回True:in
(6)成员运算符,如果字符串中不包含给定的字符返回True:not in
3.2 字符串相关方法
1. 转义字符:如果字符串中包含 ‘ 和 “ ,则可以用转义字符 \ 来标识,如‘I\'m \"OK\"’表示的内容是I'm OK。转义字符可以转义很多字符,常用的转义字符如下:
(1)\(在行尾时):续行符;
(2)\\:反斜杠符号;
(3)\',\":单引号、双引号;
(4)\n:换行符
(5)\t:横向制表符
2. 原始字符串:所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。 原始字符串除在字符串的第一个引号前加上字母"r"(可以大小写)以外,与普通字符串有着几乎完全相同的语法。
3. 在使用中文字符串的时候需添加:-*- coding: utf-8 -*-。意思是告诉Python解释器,按照UTF-8读取源代码,否则,在源代码中输入的中文可能会出现乱码。
4. 字符串格式化问题
Python 支持格式化字符串的输出 ,最基本的用法是将一个值插入到一个有字符串格式符 %s 的字符串中。

%运算符就是用来格式化字符串的,前面有几个占位符,后面括号中就要跟几个变量或者值,顺序要对应好。如果只有一个%,则后面括号可以省略。
格式化整数和浮点数还可以指定是否补0和整数与小数的位数:

常用python字符串格式化符号:
(1)%c:格式化字符及其ASCII码
(2)%s:格式化字符串
(3)%d:格式化整数
(4)%u:格式化无符号整型
(5)%o:格式化无符号八进制数
(6)%x:格式化无符号十六进制数
(7)%X:格式化无符号十六进制数(大写)
(8)%f:格式化浮点数字,可指定小数点后的精度
(9)%e:用科学计数法格式化浮点数
网友评论