Python 序列、列表(List)、元组(Tuple)
序列
序列是python中最基本的数据结构,包括字符串、列表、元组。
序列,顾名思义,是有序的,序列都有索引,都能进行索引、切片(截取)、加(连接)、乘(倍增)、检查成员的操作。
因为序列有序,可通过位置来区分元素,所以序列中可含有相同的元素。
序列的通用操作
1、索引
seq[index] index从0开始,支持负数,-1表示最后一个元素。
2、切片(截取)
seq[start:end] 可截取子序列,返回的是副本,原序列不变。缺省时默认start为0,end为-1。
3、+(连接)
seq1+seq2+seq3+..... 将多个序列连接为一个序列,返回的是副本,原序列不变
序列的类型要相同,才能相加,比如列表只能+列表,不能+字符串。
4、*(倍增)
seq*n 将序列扩展为原来的n倍,比如“hello”*2就是“hellohello”。返回的是副本,原序列不变。
5、in、not in(检查成员)
element in/not in seq 判断某个成员是否在序列中,返回值是bool型
6、python内置函数,不必导入模块:
len(seq) 返回序列长度(元素个数)
max(seq) 返回序列中值最大的元素
min(seq) 返回序列中值最小的元素
列表(list)
列表中的元素类型可以不同,甚至可以嵌套复杂的数据类型。列表用中括号[ ]表示。
list1=[1,2,3] #类型相同 list2=[1,"ok",[1,2,3]] #类型不同&&嵌套
列表的常用方法
函数 | 描述 |
list.append(ele) | 在list末尾添加一个元素 |
list.insert(index,ele) | 在指定位置插入一个元素 |
list.count(ele) | 统计list中ele出现的次数 |
list.extend(x) |
扩展list,x可以是列表、元组、集合、字典(只添加key)。添加到list的末尾。 +连接只能连接相同类型的序列。 |
list.index(ele) | 索引元素,返回索引 |
list.pop([index]) | 弹出(删除)并返回指定位置上的元素,,缺省index时默认为-1(最后一个元素)。 |
list.remove(ele) | 移除指定元素,若list中有多个ele,只移除第一个ele |
list.copy() | 复制list,返回复制的列表。示例:list2=list1.copy() |
list.clear() | 清空列表 |
list.reverse() | 反序排列 |
list.sort(reverse=true) |
将列表中的元素按升/降序排列,缺省参数时默认为false(升序),true是降序。示例: list.sort() #升序排列 list.sort(reverse=true) #降序排列 注意:此函数不返回排序后的列表。 |
列表(list)是可变的,如果上述方法修改了list,list会改变。
数字(number)、字符串(string)、元组(tuple)是不可变的,操作时返回的往往是副本,原来的值不变。
元组(tuple)
元组中可以含有不同类型的数据。
元组不能被修改,不能删除、修改元组中的元素,但可以用del删除整个元组。
元组用小括号()表示。
tuple1=() #空元组 tuple2=(1,4,3)
tuple3=(1,"ok",[1,2,3]) #类型不同&&嵌套
列表、元组之间的转换
1、list(seq) 将其他序列转换为列表
mytuple=(1,2,3) print(list(mytuple)) #[1, 2, 3] """ python的内置函数list(seq)可以将其他序列转换为列表,并返回该列表 此函数不会修改seq本身 """
2、tuple(seq) 将其他序列转换为元组
mylist=[1,2,3] print(tuple(mylist)) #(1, 2, 3) """ python的内置函数tuple(seq)可以将其它序列转换为元组,并返回该元组 此函数不会修改seq本身 """
这2种方法均不会修改参数本身。
上一篇: php adodb分页实现代码
下一篇: php adodb连接不同数据库