人生苦短,你用python吗?
化学专业的小凯,却喜欢上了计算机语言,业余时间入门了python,从此无法自拔,话不多说,接下来与大家分享我的学习笔记。(元组、列表)
Python中的数据结构主要有序列、集合、字典。
一.元组
元组(tuple)是一种序列(sequence)结构。
1.序列
序列是一种可迭代的、元素有序、可以重复出现的数据结构,序列可以通过索引访问元素。
序列包括:
- 列表(list)
- 字符串(str)
- 元组(tuple)
- 范围(range)
- 字节序列(bytes)
序列可进行的操作有索引、分片、加和乘。
2.创建元组
元组是一种不可变序列,一旦创建就不能修改。创建元组可以使用tuple([iterable])函数或者直接用逗号将元素分开。

创建元组需要注意:
()可以创建空元组
元组只有一个元素时,后面的逗号不能省略
3.访问元组
元组作为序列可以通过下标索引访问其中的元素,也可以对其进行分片。
元组还可以进行拆包(Unpack)操作,就是将元组的元素取出来赋值给不同的变量。
第①行是将元组a进行拆包操作,接收拆包元素的变量的个数应该等于元组个数,接收变量个数可以少于元组个数。第②行接收变量个数只有三个,最后一个很特殊,变量n前面有个星号,表示剩下的元素作为一个列表赋值给变量n,另外,还可以使用下划线指定不取值哪些元素,第③行表示不取第二个和第五个元素。
4.遍历元组
一遍使用for循环遍历元组
一般情况下,遍历目的只是取出每一个元素值,见代码第一个for循环,但有时需要在遍历的过程中同时获取索引,可以使用第二个for循环,其中enumerate(a)函数可以获取元组对象,该元组对象有两个元素,第一个元素索引,第二个是元素的值。
二.列表
列表(list)也是一种序列结构,与元组不同,列表具有可变性,可以追加、插入、删除和替换列表中的元素。
1.创建列表
创建列表时[]不能省略,否则就变成元组了。创建空列表是[ ],列表中可以放入任何对象。还可以通过list([iterable])创建,('Hello','XiaoKai',1,2,3,4,5)是一个元组,元组是可迭代对象,可以作为list()函数参加创建列表对象。
2.追加元素
列表中追加元素的方法可以使用append()方法,如果想追加另一个列表,可以使用+运算符或者extend()方法。
list.append(x) #x参数是要追加的单个元素list.extend(t) #t参数是要追加的另外一个列表
3.插入元素
插入元素可以用insert()方法,该方法可以在指定索引位置插入一个元素。
insert(i,x)
参数i是索引,参数x是要插入的元素
4.替换元素
通过列表下标将索引元素放在赋值符号“=”左边,进行替换。
5.删除元素
remove()方法和pop()方法
(1)remove()方法
从左到右查找列表中的元素,如果找到匹配元素则删除,如果找到多个匹配元素,那么只删除第一个,如果没有找到,则抛出错误
list.remove()
(2)pop()方法
它会将删除的元素返回
list.pop([i]) 参数i是指定删除元素的索引,可以省略,表示删除最后一个元素
6.其他常用方法
- reverse():倒置列表
- copy():复制列表
- clear():清除列表中的所有元素
- index(x[,i[,j]]):返回查找x第一个出现的索引,i是开始查找索引,j是结束查找索引,该方法继承自序列,元组和字符串也可以使用这个方法
- count(x):返回x出现的次数,同样继承自序列,元组和字符串可以使用这个方法
7.列表推导式
他可以将一种数据结构作为输入,经过过滤、计算等处理,最后输出另一种数据结构。
- 列表推导式
- 集合推导式
- 字典推导式
先说列表推导式
如果想得到0~9中偶数的平方数列,可以通过for循环实现
也可以通过列表推导式实现
谢谢大家,下一篇分享数据结构——集合、字典