zoukankan      html  css  js  c++  java
  • 列表的常规操作

    列表的增删改

    1、索引取值(正反都可以),不仅可以取还可以存  (字符串不只可以取,不可以存)

    l1 = [1,2,3,4,5,6]
    print(l1[2])
    l1[2] = 3333
    print(l1)

    2.索引切片

    print(l1[1:3])
    反向切片取奇数
     a[::-1]



    sorted(a)

    取奇数
    d = a[::2]

    3.insert、 append、 extend 

    # 、 insert
    l1.insert(1,999)
    print(l1)
    
    # 追加:append  追加值。注意与extend()的区别,只能添加到列表的最后一位,一次性只能添加一个值(可以是一个字符,列表)
    print(l1.append([7,8,9]))
    [1, 999, 2, 3333, 4, 5, 6, [7, 8, 9]]
    # 注意append 与 extend的区别 extend 分开多次追加 l1.extend([7,8,9]) print(l1)
    [1, 999, 2, 3333, 4, 5, 6, [7, 8, 9], 7, 8, 9]



    4. remove && pop

    # remove  指定值删除,比较彻底
    l1.remove(1)
    print(l1)
    
    # pop()  : 不传值,默认从最后开始删,指定索引删值,pop是有返回值的
    l1.pop()
    val = l1.pop()
    print(val)    # 返回值 为何是8
    l1.pop(2)
    print(l1)

     5.查找元素的索引位置

    l1 = ['oldboy','yangjian','nezha','leizhenzi']
    print(l1.count('oldboy'))
    # 查找元素的索引位置   也可以在起止范围查找
    print(l1.index('nezha'))

    6. 排序:sort    在原有列表中进行排序操作 没有返回值

    l1.sort(reverse = False)
    print(l1)

    7.  sort 与 sorted sort是列表的内置方法,在原有的列表排序,不会生成新的列表,sorted(l1)会生成新的列表

    l2 = sorted(l1)
    print(l2)

    8. clear  清除

    l1.clear()
    print(l1)

     9. copy &&  deepcopy

       浅拷贝

    lst1 = ["金毛狮王", "紫衫龙王", "青翼蝠王", "白眉鹰王",["张无忌","赵敏","周芷若"]]
    print(lst1.copy())  #浅拷贝  拷贝出来的列表第一层与原来是不同的内存地址,第二层指向原来的地址 
    >>>
    ['金毛狮王', '紫衫龙王', '青翼蝠王', '白眉鹰王', ['张无忌', '赵敏', '周芷若']] 
    print(lst1[:]) #浅拷贝  
    >>> 
    ['金毛狮王', '紫衫龙王', '青翼蝠王', '白眉鹰王', ['张无忌', '赵敏', '周芷若']]

      深拷贝

    lst1 = ["金毛狮王", "紫衫龙王", "青翼蝠王", "白眉鹰王",["张无忌","赵敏","周芷若"]]
    lst2 = copy.deepcopy(lst1)
    print(lst2)   >>>  ["金毛狮王", "紫衫龙王", "青翼蝠王", "白眉鹰王",["张无忌","赵敏","周芷若"]]
    print(id(lst1)) >>> 358961124936
    print(id(lst2)) >>> 358961315656
    # lst1和lst2 是两个不同内存地址的
  • 相关阅读:
    Linux alias 设置快捷命令,打包
    网站改版了
    团队建设经典故事
    easyui中jquery重复引用问题(tab内存泄露问题)
    EasyUI 兼容 IE6 方法总结
    EasyUI datagrid frozencolumn的bug???
    docker-compose快速部署环境笔记
    MySQL获取距离
    Jenkins Publish FTP远程部署过程
    慎用uniapp开发商业级应用
  • 原文地址:https://www.cnblogs.com/bigbox/p/11801016.html
Copyright © 2011-2022 走看看