• 列表 元组


    不知道大家了解过其他的编程语言没有,列表(list)其实就是其他语言的数组一样的,只不过在北方叫馍头子,在南方叫馒头而已,其实都一样的。

    列表

      作用:多个装备,多个爱好,多门课程,多个女朋友等

      定义:[] 内可以有多个任意类型的值,逗号分隔

    对于列表既然我们对列表的里面定义了元素,那么换而言之 我们是可以对它的里面进行增、删、改、查

    append--->  追加(在列表的最后的元素后面添加)

    hobbies = ['play', 'eat', 'sleep']
    hobbies.append('swim')
    print(hobbies)

    不能直接print出append的过程,因为那样打印出来的是添加的过程是None

    li =[]
    print(li.append('alex')) 

    insert------------->按照数组中的下标添加(插入)

    因为append是只能在最后面追加 在顾腚位置添加元素 所以我们需要有一个能选择位置的添加,所以就出来了insert

    li = [1, 'a', 'b', 'a', 2,3]
    li.insert(2, 'xiaosna')
    print(li)

    extend------------>把两个数组的的内容相加或者把一个元素添加到列表中 也是放在最后(迭代添加)切记一个int类型的无法添加 因为不是迭代添加(迭代添加就是一次一次的添加)

    n = [1, 3, 4 , 'b', 'n']
    n.extend('7')  #大家看这个7必须用写成字符串类型的不然就不可以使用entend
    print(n)

    删除:

      pop------>默认删除列表中的最后一个元素,也可以指定索引(下标)来进行删除

      默认删除:

    li = [1, 'a', 'b', 'a', 2,3]
    li.pop()
    print(li)

      按照索引(下标)来删除

    li = [1, 'a', 'b', 'a', 2,3]
    li.pop(3)  #删除下标是3的元素
    print(li)

      pop也是增删改查中唯一一个可以有返回值的其他的打印增删改查的过程的返回值的时候都会报错  但是这个不会

      按照元素删除------>remove  可以指定某个元素来删除,如果列表中有两个a但是你如果只是选中一个a那么只能删除第一个a

        

    li = [1, 'a', 'b', 'a', 2,3]
    li.remove('a')  #只能删除第一个的a因为
    rint(li)

      清空所有的内容-------> clear 把列表中的所有的内容全部的清空

    li = [1, 'a', 'b', 'a', 2,3]
    li.clear()
    print(li)

      既可以清空列表也可以指定删除-----> del  直接把列表删除 也可以指定下标和切片去删除

      删除列表:

    li = [1, 'a', 'b', 'a', 2,3]
    del li
    print(li)

      根据下标来删除:

    li = [1, 'a', 'b', 'a', 2,3]
    del li[3] #根据下标来删除   删除列表中第三个元素
    print(li)

      根据切片去删除:

      

    li = [1, 'a', 'b', 'a', 2,3]
    del li [0:3:2]  #这个是根据切片和步长去删除的
    print(li)

      修改:

      

    li = [1, 'a', 'b', 'a', 2,3]
    li[3]='Q'  #直接把下标为3的元素给替换成Q
     print(li)

      也可以把整个切片给替换掉:

      

    li = [1, 'a', 'b', 'a', 2,3]
    li[:3] = 'Q'  #把0到3的切片内的元素给替换成Q
    print(li)

    len 长度 它和下标不一样下标是从0 开始的len是从1开始的  和java的一样  大家别记混了

    li = [1, 2, 1, 7, 5, 4, 9, 8, 3]
    print(len(li))

     tuple 元组:一般不可以对元组内的单个元素进行操作:

    l = (1,1,e,4,f)  #这里面的内容不可以进行修改但是可以查询

    但是也可以对元组进行操作:当元组内包含字典或者列表的时候你可以修改包含的列表或者字典 其他的不可以修改(儿子不能改,孙子可能改)

    python对list去重的各种方法

    不使用set去重:
    
    ids = [1,2,3,3,4,2,3,4,5,6,1]
    news_ids = []
    for id in ids:
        if id not in news_ids:
            news_ids.append(id)
    print news_ids
    
    
    使用set去重:
        
    ids = [1,4,3,3,4,2,3,4,5,6,1]
    ids = list(set(ids))
    
    
    按照原来的索引排序
    
    ids = [1,4,3,3,4,2,3,4,5,6,1]
    news_ids = list(set(ids))
    news_ids.sort(key=ids.index)  
    
    
    也可以使用:
    
    In [5]: ids = [1,4,3,3,4,2,3,4,5,6,1]
    In [6]: func = lambda x,y:x if y in x else x + [y]
    In [7]: reduce(func, [[], ] + ids)
    Out[7]: [1, 4, 3, 2, 5, 6]

      

  • 相关阅读:
    两周深度学习计划(二)
    两周深度学习计划(一)
    [Spark性能调优] 第二章:彻底解密Spark的HashShuffle
    [Spark性能调优] 第一章:性能调优的本质、Spark资源使用原理和调优要点分析
    [Spark内核] 第33课:Spark Executor内幕彻底解密:Executor工作原理图、ExecutorBackend注册源码解密、Executor实例化内幕、Executor具体工作内幕
    [Spark内核] 第32课:Spark Worker原理和源码剖析解密:Worker工作流程图、Worker启动Driver源码解密、Worker启动Executor源码解密等
    [Spark内核] 第31课:Spark资源调度分配内幕天机彻底解密:Driver在Cluster模式下的启动、两种不同的资源调度方式源码彻底解析、资源调度内幕总结
    [Spark内核] 第30课:Master的注册机制和状态管理解密
    [Spark内核] 第29课:Master HA彻底解密
    [Spark内核] 第28课:Spark天堂之门解密
  • 原文地址:https://www.cnblogs.com/zhaoyunlong/p/8618126.html
Copyright © 2020-2023  润新知