美文网首页
python元组与列表

python元组与列表

作者: 像小象的云 | 来源:发表于2018-10-20 12:23 被阅读0次

    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元组与列表

          本文链接:https://www.haomeiwen.com/subject/qigpzftx.html