• 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
  • 相关阅读:
    编译php5.4的时候出现错误----configure: error: in `/usr/local/src/php540/php-5.4.0':
    git之旅【第二篇】
    如何在CentOS 5/6上安装EPEL源
    python之旅【第二篇】
    UML类图
    《大话设计模式》——简单工厂模式
    存储过程与存储函数学习笔记
    Mybatis逆向工程
    Navicat for MySQL安装工具及破解工具
    启动maven的web项目
  • 原文地址:https://www.cnblogs.com/zrmw/p/9439294.html
Copyright © 2020-2023  润新知