zoukankan      html  css  js  c++  java
  • Python列表及元组操作

    #列表(一组有序数据的组合就是列表)
    
    #创建列表
    #空列表
    var = list()#var = []
    print(var,type(var))
    
    #具有多个元素的列表
    var = ['','','风水']
    print(var,type(var))
    
    #基本操作
    var = ['','','地火']
    #访问列表中的元素
    print(var[-2])
    
    #修改元素
    var[1] = ''
    print(var)
    
    #删除元素
    del var[1]
    print(var)
    
    #添加元素(不能加)
    
    #序列操作
    listvar1 = ['胡一菲','曾小贤','陆展博']
    listvar2 = ['林宛瑜','陈美嘉','吕子乔','关谷神奇']
    
    #相加
    result = listvar1 + listvar2
    print(result)
    
    #相乘操作
    result = listvar1 * 2
    print(result)
    
    #分片
    #result = listvar2[:3]
    #result = listvar2[1:]
    #result = listvar2[1:3]
    #result = listvar2[:]
    #print(result)
    
    #成员检测
    result = 'Lisa荣' in listvar2
    print(result)
    
    result = 'Lisa荣' not in listvar2
    print(result)
    
    #序列函数
    #len() 检测列表中元素的个数
    var = ['张三','李四','王五','赵六']
    result = len(var)
    print(result)
    
    #max() 获取最大值
    result = max([12,23,34,45,21,32,43,54])
    print(result)
    
    #min() 获取最小值
    result = min([12,23,34,45,21,32,43,54])
    print(result)
    
    #遍历列表
    
    #for...in
    var = ['','','','绿','','','']
    for i in var:
        print(i)
    
    #while遍历
    i = 0
    while i < len(var):
        print(var[i])
        i += 1
    
    #多层列表的遍历
    var = [
        ['小黑','black'],
        ['小白','white'],
        ['小彩','color']
    ]
    
    #等长二级列表
    for i,j in var:
        print(i,j)
    
    #等长或不等长列表都可以遍历
    for i in var:
        #print(i)
        for j in i:
            print(j)
    
    #列表推导式
    var = ['段誉','虚竹','乔峰','木婉清','钟灵儿']
    #最基本的列表推导式
    result = ['@'+i+'@' for i in var]
    print(result)
    
    #书写列表1-10,使用列表推导式获取当前列表中每个数字*3的列表
    var = [1,2,3,4,5,6,7,8,9,10]
    result = [i * 3 for i in var]
    print(result)
    
    #带有判断条件的列表推导式
    var = [1,2,3,4,5,6,7,8,9,10]
    result = [a for a in var if a % 2 == 0]
    print(result)
    
    #声明一个多人名称的列表,使用推导式获取所有三个字人名
    var = ['段誉','虚竹','乔峰','木婉清','钟灵儿']
    result = [n for n in var if len(n) == 3]
    print(result)
    
    #多循环列表推导式
    sizes = [37,38,39,40,41]
    colors = ['yellow','cyan','pink','purple']
    result = [str(s) +'-'+ c for s in sizes for c in colors]
    print(result)
    
    #男组4人,女组5人,互相见面一次
    men = ['男1','男2','男3','男4']
    women = ['女1','女2','女3','女4','女5']
    result = [m +'-'+ w for m in men for w in women]
    print(result)
    
    #带有判断条件的多循环列表推导式
    men = ['男1','男2','男3','男4']
    women = ['女1','女2','女3','女4']
    result = [m +'-'+ w for m in men for w in women if men.index(m) == women.index(w)]
    print(result)
    
    
    #append()  向列表的末尾添加元素  直接修改元列表
    var = ['a','b','c','d']
    print(var)
    var.append('e')
    print(var)
    
    #insert() 在列表的指定位置之前添加元素
    var = ['a','b','c','d']
    print(var)
    var.insert(2,'g')
    print(var)
    
    #pop()  删除列表中指定位置的元素
    var = ['a','b','c','d']
    print(var)
    result = var.pop(0)
    print(var,result)
    
    #remove()  删除列表中指定值的元素
    var = ['a','b','c','d']
    print(var)
    result = var.remove('c')
    print(var,result)
    
    #clear()  清空列表
    var = ['a','b','c']
    print(var,id(var))
    var.clear()
    print(var,id(var))
    
    #copy()  复制列表
    var = ['a','b','c','d']
    print(var,id(var))
    newvar = var.copy()
    print(newvar,id(newvar))
    
    #count() 计算列表中某个元素出现的次数
    var = [2,3,4,3,4,5,6,7,8,5,4,6,7,8]
    result = var.count(5)
    print(result)
    
    #excend() 将一个列表合并到另外一个列表中
    var1 = ['xs','dc','yyh','wzj']
    var2 = ['dsn','lss','cyy','lrs']
    var1.extend(var2)
    print(var1)
    
    #index() 获取某个元素在列表中的索引
    var = ['xs','dc','yyh','wzj']
    result = var.index('dc')
    print(result)
    
    #reverse() 列表反转操作
    var = ['a','b','c','d']
    print(var)
    var.reverse()
    print(var)
    
    #sort() 排序函数
    var = [23,342,34,32,75,59]
    
    #默认排序  升序
    #var.sort()
    #print(var)
    
    #降序
    #var.sort(reverse=True)
    #print(var)
    
    #自定义排序规则
    #奇偶数
    def myfunc(num):
        result = num % 5
        return result
    var.sort(key=myfunc,reverse = True)
    print(var)
    
    a = [4,5,66,45,99]
     #   0 1 0 1 1
     #   1 0 1 0 0
    #a.sort(key=ceshi,reverse=False)
    a.sort(key = lambda x:x%2==0)
    #print(a)
    
    def ceshi(x):
        return x%2 == 0
    a.sort(key=ceshi)
    print(a)
    
    #sort 排序按照返回值来排 特点基于原来列表进行排序
    '''
    > < >= <= != ==
    
    true 1  false 0
    
    True + 1 1+1
    1 + 1.1 2.1
    
    bool  int  float
    float()
    int()
    bool()
    '''
    #元组(元组也是一组有序数据的组合,和列表唯一的不同是,元组不可修改)
    #创建单个元素的元组
    #var = (13,)
    var = 23,
    print(var,type(var))
    
    #元组只能进行访问操作
    var = ('yy','bb','dlrb','glnz')
    print(var[1])
    print(var[-2])
    
    #元组的序列操作
    # +
    var1 = (1,3,5,7,9)
    var2 = (2,4,6,8,10)
    result = var1 + var2
    print(result)
    
    #列表或者元组具有很多层
    girls = (
        (
            ('小赵','小钱'),
            ('小李','小周')
        ),
        (
            ('小吴','小郑'),
            ('小王','小刘')
        )
    )
    #访问多层元组中的内容
    print(girls[1])
    print(girls[1][1])
    print(girls[1][1][0])
    
    #元组推导式->生成器->不要则不给
    var = (1,2,3,4,5,6,7,8,9)
    result = (i * 2 for i in var)
    print(result)#结果为生成器
    for a in result:
        print(a)
  • 相关阅读:
    javaSE笔记-多态
    javaSE笔记-接口
    javaSE笔记-static关键字
    javaSE笔记-fianl关键字
    javaSE笔记-抽象类
    javaSE笔记-继承
    javaSE笔记-JKD、JRE、JVM各自的作用和关系
    搭建网络验证RIP协议
    计算机网络学习
    python itertools 模块讲解
  • 原文地址:https://www.cnblogs.com/sunyang945/p/7859751.html
Copyright © 2011-2022 走看看