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
  • 相关阅读:
    移动应用滑动屏幕方向判断解决方案,JS判断手势方向
    M1808本地配置IP全过程
    嵌入式板子tftpd交叉编译及使用
    七牛云ARM64交叉编译流程
    记录M1808Ubuntu18.04固定IP配置方案
    so库移植记录
    c++ 动态库的编译
    Linux提示Syntax error: end of file unexpected (expecting "then") 提示错误
    ubuntu18.04设置静态ip
    WebFlux中thymeleaf视图找不到的问题解决
  • 原文地址:https://www.cnblogs.com/zrmw/p/9439294.html
Copyright © 2011-2022 走看看