zoukankan      html  css  js  c++  java
  • Python列表(转)

    对于python列表的理解可以和C语言里面的数组进行比较性的记忆与对照,它们比较相似,对于python里面列表的定义可以直接用方括号里加所包含对象的方法,并且python的列表是比较强大的,它包含了很多不同类型的数据:整型数字,浮点型,字符串以及对象等。定义举例如下:

    List1=[1,2,3,”hello world”,”3.1415926”,[1,2,3]]

    对于python列表里元素的操作主要分为以下几个方面:

    1、 向列表里面加元素;

    2、 删减列表中的一些元素;

    3、 获取列表里面的特定元素;

    4、 列表分片;

    5、 常用的列表操作符;

    6、 其他常见列表操作函数

    7、 列表的拷贝

    下面我们来具体讲解一下每一个部分:

    1、 向列表里面加元素:

    向python列表里面添加元素主要有三种方法:

    (1)append()

    append()对于列表的操作主要实现的是在特定的列表最后添加一个元素,并且只能一次添加一个元素,并且只能在列表最后;

    m.append(元素A)

    (2)extend()

            extend()对于列表的操作主要实现的是对于特定列表的扩展和增长,可以一次添加多个元素,不过也只能添加在列表的最后;

            m.extend([元素A,元素B,……])

    (3)insert()

            insert()对于列表的操作主要是在列表的特定位置添加想要添加的特定元素,比较常用,这里的特定位置是指元素所在列表中的位置索引号,需要注意的是这里的索引号都是从0开始的,不是从1开始的,这个大家需要特别注意。

            m.insert(A,元素B):表示在列表m里面的第A+1处加入元素B

    以上的添加功能实现代码与结果如下实例所示:

    2、删减列表中的一些元素;

    与之前python列表的添加元素相对,删减列表里面的一些元素也有三种方法:

    (1)m.remove()

    m.remove的作用是移除掉列表m里面的特定元素;

    m.remove(元素A)

    (2)del m[n]

            它的作用是删除掉列表里面的索引号位置为n 的元素,这里需要注意的是del是一种操作语句。

            del m[n]

    (3)m.pop()

            它的作用是将列表m的最后一个元素返回,并且在此基础上进行删除掉

            Temp=m.pop()   %这里temp就会直接等于吗列表里最后一个元素。

            Print(m)       %这里再次输出m的时候已经是删掉最后一个元素的m列表

    以上的三种操作实例及其实现如下代码所示:


    对于列表里元素的特定获取一般直接进行选取就可以,选取的元素用其索引号进行选取,规范实现代码如下所示:
    3、获取列表里面的特定元素

    Temp=m[n]   %获取m列表第n+位置处的元素


    4、列表分片;
    例如以下程序及其实现:

    对于列表分片的含义需要明白,列表分片就是指将列表里面的一些列元素(不仅仅是某一个元素)进行获取或者得到,获取的规则如下所示:

    Temp=m[A:B] %表示将m列表里从索引号位置为A开始的元素到B-1处元素之间的列表获取赋给temp.

    例如以下的代码实现:

     

    5、常用的列表操作符

    1)+:它主要实现的是多个列表之间的拼接
    常见的列表操作符

    2)*:主要实现的是列表的复制和添加

    3)比较>,<:主要进行数据型列表的元素比较

    4)and等:;逻辑运算符,可以进行列表之间的逻辑判断


    具体实例如下所示:

    6、 其他常见列表操作函数:

    1)m.count(A):输出元素A在列表m里面出现的次数

    2)m.index(A):输出元素A在列表m里面的索引位置号

    m.index(A,a,b):对于列表m里面包含多个元素A时,输出在列表m索引号a-b之间的特定索引号

     3)m.reverse():将列表m进行前后的翻转,前变后,后变前

     4)m.sort():将列表m里面地数据进行从小到大的排列

     5)m.sort(reverse=True):将列表m里面地数据进行从大到小的排列

        其实对于列表m里面的元素进行从大到小的排列还可以用以下方法:

      N=m.sort()

      N.reverse()

        以上的操作函数具体实现实例如下所示:

    7、 Python列表的拷贝

    对于python里面如果想要进行列表的复制,具体的操作语句如下:

    1) 深拷贝:

    M=[A,b,a,c]

    N=M[:]

    2) 浅拷贝:

    N=M

    有人说可以直接将M赋值给N也是一样的,虽然表面看起来两者的实现效果是一样的,但是如果你要继续对N进行操作的时候就会出现问题,因为对于正确的第一种拷贝复制,它的作用是将列表M复制下来给N,如果后面对M进行操作,它对于N是完全没有影响的,而我们如果采用赋值的方式,那么在后面对M操作以后就会影响到N,N的值也会随之改变。

        综上所述,第一种python列表的拷贝方法才是真正意义上的深拷贝,而赋值操作只是一种暂时的等量代换,它属于一种浅拷贝。

        具体的实现代码和区别如下所示:

  • 相关阅读:
    leetcode 33. Search in Rotated Sorted Array
    leetcode 32. Longest Valid Parentheses
    leetcode 28. Implement strStr()
    leetcode 27. Remove Element
    leetcode 26. Remove Duplicates from Sorted Array
    leetcode 24. Swap Nodes in Pairs
    leetcode 22. Generate Parentheses
    树莓派的频率管理和热控制
    sql执行insert插入一条记录同时获取刚插入的id
    全程直播个人博客重构过程,采用springboot+dubbo+jpa技术栈。
  • 原文地址:https://www.cnblogs.com/darle/p/13218350.html
Copyright © 2011-2022 走看看