python列表和元组
一、序列
1.序列的概述
Python 内置的四种常用数据结构:列表(list)、元组(tuple)、字典(dict)以及集合(set)。
这四种数据结构一但都可用于保存多个数据项,这对于编程而言是非常重要的,因为程序不仅需要使用单个变量来保存数据,还需要使用多种数据结构来保存大量数据,而列表、元组、字典和集合就可满足保存大量数据的需求。
列表(list)和元组(tuple)比较相似,它们都按顺序保存元素,每个元素都有自己的索引,因此列表和元组都可通过索引访问元素。二者的区别在于元组是不可修改的,但列表是可修改的。
字典(dict)和集合(set)类似,它们存储的数据都是无序的,其中字典是用 key-value 的形式保存数据
2.索引和元素
-
索引:从0开始,最后是-1,数据类型为整型(int).
-
元素:列表和元组的元素可以是不同的数据类型,可重复。
3.通用序列操作
- 所有的序列都可以进行某些特定的操作。这些操作包括:
- 索引(indexing)
- 分片(sliceing)
- 加(adding)
- 乘(multiplying)
- 检查某个元素是否属于这序列(index)
- 计算序列长度(len)
- 找出最大元素和最小元素(min/max)
二、列表
1.列表元素的特点
可修改、可重复、可嵌套和支持多种数据类型
2.基本列表操作
创建函数list()
使用方法:
name=list()
或[1,2]
或[1,[1,2]]
元素的增加
- append()方法:用于在列表末尾添加新的对象。
使用方法:
list.append(obj)
.参数obj为添加到列表末尾的对象。
- extend()函数:用于在列表末尾一次性追加另一个序列中的多个值,即用新的列表来扩充原来的列表。
使用方法:
list.extend(seq)
.参数seq为元素列表。
- insert()函数:用于将指定对象插入到列表的指定位置。
使用方法:
list.insert(index,obj)
参数index为对象obj需要插入的索引位置;
参数obj为要插入列表中的对象。
元素的删除
- del:用于删除指定索引的元素或者删除整个列表。
使用方法:
del name[0]
或del name
- clear()函数表示清空原有地址内容,但是地址不发生改变。
使用方法:
list.clear()
- pop()函数:用于移除列表中的一个元素(默认最后一个元素),并返回该元素的值。
使用方法:
list.pop([index=-1])
参数index为可选参数,要移除列表元素的索引值,不能超过列表总长度,默认为
index=-1
即最后一个列表值。
- remove()函数:用于移除列表中某个值的第一个匹配项。
使用方法:
list.remove(obj)
参数obj为列表中要移除的对象。
元素的修改
修改方法举例:
name[1]=2
元素的查找
- count()方法:用于统计某个元素在列表中出现的次数,会返回元素在列表中出现的次数。
使用方法:
list.count(obj)
.参数obj为列表中统计的对象。
- index()函数:用于从列表中找出某个值第一个匹配项的索引位置。
用法:list.index(obj)
参数obj为查找的对象。
- 内置函数
min(),max(),len(),in,not in
分别表示获取列表中的最大值,最小值,列表长度,判断元素在列表中,判断元素不在列表中。
列表的反转
reverse()函数:用于反向列表中的元素。
使用方法:
list.reverse()
,无参数
列表的排序
sort()函数:用于对原列表进行排序,可指定参数(Python3中数据类型必须相同)。
使用方法:
list.sort(cmp=None, key=None, reverse=False)
参数cmp为可选参数,如果指定了该参数会使用该参数的方法进行排序。
key主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代的对象中,指定可迭代对象中的一个元素来进行排序。
reverse是排序规则,值为Ture表示降序,值为False表示升序(默认值)。
三、元组
1.元组概述
-
元组与列表类似,不同之处在于元组的元素不能修改。
-
元组使用小括号,列表使用方括号。
-
元组的创建很简单,只需要在小括号中添加元素,并使用逗号分隔即可。
2.元组的特点
元组的特点有:可重复,不可修改,可嵌套,支持多种数据类型。
四、总结
1.列表的形式及元素特点
形式:列表在方括号内,元素以逗号分隔。
元素特点:可重复,可修改,可嵌套,支持多种数据类型。
2.元组的形式及元素特点
形式:元组在小括号内,使用逗号分隔。
元素特点:可重复,不可修改,可嵌套,支持多种数据类型。
3.列表与元组的区别
列表与元组的最大区别就是元素是否可以修改。
五、代码实现
1.创建一个列表
代码如下
name = [1,2,3,4,5,6,7,8,9,8,7,6,5,4,3,2,1]
print(name)
2.删除列表中的重复元素
name=set(name)
name=list(name)
print(name)
3.对列表进行数据排序
name.sort(reverse=True)
print(name)
这里选择降序排序
4.获取列表中索引为偶数的元素
print("索引为偶数的列表:",name[0::2])
5.获取列表中索引为奇数的元素
print("索引为奇数的列表:",name[1::2])