zoukankan      html  css  js  c++  java
  • python3中list列表的一些操作

    最近遇到许多List的操作,感觉它是一种很重要的一种基础数据结构,本人掌握的也不是很扎实,这里找了一些列表的操作,常用函数,记录下来,希望对大家有用。如果理解有偏差,欢迎指正,感谢!

    (1)列表的合并

      使用到了:+, append(), extend(), insert()

            

    # -*- coding: utf-8 -*-
    """
    Created on Tue Aug  7 20:10:41 2018
    @author: brave-man
    blog: http://www.cnblogs.com/zrmw/
    """
    
    a = [123, 'abc', 12.3, 'lao zhang']
    b = ['lao li', 'lao wang', 'lao liu']
    
    print(a + b)
    
    a.extend(b)
    print(a)
    
    a.insert(0, b)
    print(a)
    
    a.append(b)
    print(a)

    输出:

    [123, 'abc', 12.3, 'lao zhang', 'lao li', 'lao wang', 'lao liu']
    [123, 'abc', 12.3, 'lao zhang', 'lao li', 'lao wang', 'lao liu']
    [['lao li', 'lao wang', 'lao liu'], 123, 'abc', 12.3, 'lao zhang', 'lao li', 'lao wang', 'lao liu']
    [['lao li', 'lao wang', 'lao liu'], 123, 'abc', 12.3, 'lao zhang', 'lao li', 'lao wang', 'lao liu', ['lao li', 'lao wang', 'lao liu']]

    (2)列表的删除和深浅复制,赋值

      使用函数: remove(), pop(), del

    # -*- coding: utf-8 -*-
    """
    Created on Tue Aug  7 20:10:41 2018
    @author: brave-man
    blog: http://www.cnblogs.com/zrmw/
    """
    
    import copy
    
    a = [123, 'abc', 12.3, 'lao zhang']
    b = ['lao li', 'lao wang', 'lao liu']
    f = ['aabbcc', 223344]
    
    # 赋值,绑定的是同一个对象,会改变原列表
    c = a
    print(c.pop())
    print('a', a)
    print('c', c)
    print(a is c)
    
    # 浅拷贝,只拷贝最深层的对象,对新变量的操作
    # 不会影响到原列表
    d = b.copy()
    d.remove('lao li')
    print('b', b)
    print('d', d)
    print(b is d)
    
    # 深拷贝,在内存中复制原列表的每一层,成为一个新的
    # 列表,对新列表的操作,不会影响原列表
    e = copy.deepcopy(f)
    print('e', e)
    del e[0]
    print('f', f)
    print('e', e)
    print(e is f)

    输出:

    lao zhang
    a [123, 'abc', 12.3]
    c [123, 'abc', 12.3]
    True
    b ['lao li', 'lao wang', 'lao liu']
    d ['lao wang', 'lao liu']
    False
    e ['aabbcc', 223344]
    f ['aabbcc', 223344]
    e [223344]
    False
  • 相关阅读:
    学习:恢复被孤立的数据库dbo (转)
    学习:SharePoint编程提升权限的方法(转)
    SQL行列互换
    前台用js、jquery出现错误很多是由于IE缓存
    关于dialog首次加载的时候隐藏的一个问题
    要取某个对象的值,先要判断对象是否为空的简便写法(记)
    写js或者jquery的时候最重要的调试,再也不用alert弹出对象
    嵌入式软件测试的十大秘诀
    SIMULINK sfunction的设计
    关于java解压zip与rar的问题
  • 原文地址:https://www.cnblogs.com/zrmw/p/9439294.html
Copyright © 2011-2022 走看看