python元组与列表

Python中的基本顺序存储结构是列表与元组,其中列表是可变数据类型,元组是不可变数据类型。可变指的是列表中的元素的值和位置以及列表的长度可变,决定列表可以进行增删改。

列表与元组中的元素可以是任何类型的数据,包括整数、浮点数、布尔、字符串、列表、字典、元祖、集合、函数、类的对象等

以下是两种数据结构共有的方法

语法 描述
x in s 返回布尔值,x在s中
x not in s 返回布尔值,x不在s中为True
s + t s和t的拼接,可以+=
s * n or n * s n为int类型,返回s重复n次的结果。可以*=,同上
s[i] 返回索引为i的元素
s[i:j(:k)] 切片,返回子数组,从s[i]~s[i-1],k为步长,默认为1.
len(s) 现有元素个数
min(s) 最小元素
max(s) 最大元素

元组的内建方法:

语法 描述
s.index(x[,i[,j]]) 在s[i] ~ s[j-1]中,第一个大小为x的元素的索引,i,j默认0,-1
s.count(x) 统计x的数目

列表的内建方法

语法 描述
list.append(obj) 在列表末尾添加新的对象
list.count(obj) 统计某个元素在列表中出现的次数
list.extend(seq) 在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
list.index(obj) 从列表中找出某个值第一个匹配项的索引位置
list.insert(index, obj) 将对象插入列表
list.pop([index=-1]) 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
list.remove(obj) 移除列表中某个值的第一个匹配项
list.reverse() 反向列表中元素
list.sort(cmp=None, key=None, reverse=False) 对原列表进行排序
list.clear() 清空列表
list.copy() 复制列表,浅拷贝
#列表
list1 = [1,"python",["hello",{"name":"aya"}],"a",(1,"2",{"age":14},[12]),"a"]
li = [1,2,3,4,6,7,8]
list2 = ["we"] #单元素列表

#元组
tuple1 = (1,"python",["hello",{"name":"aya"}],"a",(1,"2",{"age":14},[12]),"a")
tuple2 = (12,) #单元素元组,注意后边有个逗号

list3 = list(tuple2) #将元组转换成列表
tuple3 = tuple(list2) #将列表转换成元组

print(len(list1)) #list1元素数量统计
print(len(tuple1)) #tuple1元素数量统计

print(list1[1:4])#获取list1第2到4个元素
print(tuple1[1:-1])#获取tuple1第2到倒数第二个元素

print(list1+list2)
print(tuple2*3)


print("\n\n\n元组内建函数")
print(tuple1.index("python")) #返回"python"在tuple1中的索引值
print(tuple1.count("a")) #统计“a”在tuple1中的个数

print("\n\n\n列表内建函数")
print(list1.count("a")) #统计“a”在list1中的个数
print(list1.index("python")) #返回"python"在list1中的索引值
list1[0] = "java" #改变list1的第一个元素值为"java", 元组不能
print(list1)
list1.reverse() #使列表元素倒序
print(list1)
list1.insert(2,list2) #在list1的第三个位置插入list2
print(list1)
list1.append(tuple2) #在list1最后加入tuple2
list4 = list1.copy()
print(list1,"\n",list4)
list1.remove(list1[0]) #删除list1的第一个元素
print(list1)
list1.extend(tuple1[2]) #依次在list1最后加入tuple1中的各个元素
print(list1)
print(list1.pop()) # 删除list1的最后一个元素,并返回其值
print(list1)
#list.sort()可以传入两个参数:key,reverse,key表示需要排序的字段,reverse只有两个值Flase(从小到大排序),True(从大到小排序)
li.sort(reverse=True) #对li中的元素排序,
print(li)
list1.clear() #清空list1
print(list1)

执行结果:
6
6
['python', ['hello', {'name': 'aya'}], 'a']
('python', ['hello', {'name': 'aya'}], 'a', (1, '2', {'age': 14}, [12]))
[1, 'python', ['hello', {'name': 'aya'}], 'a', (1, '2', {'age': 14}, [12]), 'a', 'we']
(12, 12, 12)



元组内建函数
1
2



列表内建函数
2
1
['java', 'python', ['hello', {'name': 'aya'}], 'a', (1, '2', {'age': 14}, [12]), 'a']
['a', (1, '2', {'age': 14}, [12]), 'a', ['hello', {'name': 'aya'}], 'python', 'java']
['a', (1, '2', {'age': 14}, [12]), ['we'], 'a', ['hello', {'name': 'aya'}], 'python', 'java']
['a', (1, '2', {'age': 14}, [12]), ['we'], 'a', ['hello', {'name': 'aya'}], 'python', 'java', (12,)] 
 ['a', (1, '2', {'age': 14}, [12]), ['we'], 'a', ['hello', {'name': 'aya'}], 'python', 'java', (12,)]
[(1, '2', {'age': 14}, [12]), ['we'], 'a', ['hello', {'name': 'aya'}], 'python', 'java', (12,)]
[(1, '2', {'age': 14}, [12]), ['we'], 'a', ['hello', {'name': 'aya'}], 'python', 'java', (12,), 'hello', {'name': 'aya'}]
{'name': 'aya'}
[(1, '2', {'age': 14}, [12]), ['we'], 'a', ['hello', {'name': 'aya'}], 'python', 'java', (12,), 'hello']
[8, 7, 6, 4, 3, 2, 1]
[]

你可能感兴趣的:(python元组与列表)